实例1:刮刮乐
刮刮乐的玩法多种多样,彩民只要刮去刮刮乐上的银色油墨即可查看是否中奖。每张刮刮乐都有多个兑奖区,每个兑奖区对应着不同的获奖信息,包括“一等奖”、“二等奖”、“三等奖”和“谢谢惠顾”。假设现在有一张刮刮乐,该卡片上面共有8个刮奖区,每个刮奖区对应的兑奖信息为 “谢谢惠顾”、“一等奖”、“三等奖”、“谢谢惠顾”、“谢谢惠顾”、“三等奖”、“二等奖”、“谢谢惠顾”,大家只能刮开其中一个区域。
本实例要求编写程序,实现模拟刮刮乐刮奖的过程。
实例目标
- 熟练地创建数组
- 熟练地访问数组中的元素
实例分析
本实例的刮刮乐有8个兑奖区,每个兑奖区域中对应着固定的兑奖信息,因此,我们可以将刮刮乐视为一个数组,该数组中包含8个元素,它们分别为“谢谢惠顾”、“一等奖”、“三等奖”、“谢谢惠顾”、“谢谢惠顾”、“三等奖”、“二等奖”、“谢谢惠顾”。用户选择刮开一个区域查看兑奖信息就相当于根据索引访问数组中的某个元素。根据以上分析可整理出以下实现思路:
(1)创建一个代表刮刮乐的数组,该数组中共有8个字符串类型(兑奖信息)的元素;
(2)提示并接收用户输入的兑奖区的编号(1~8);
(3)根据编号对应的索引访问数组元素并输出。注意,为保证程序的健壮性,避免因用户输入无效编号而导致的越界异常,这里应添加判断编号是否有效的处理代码:若用户输入有效的编号,则提示相应的兑奖信息,否则提示“输入的位置不合规”。
代码实现
本实例的具体实现代码如下所示:
reward_info = ["谢谢惠顾", "一等奖", "三等奖", "谢谢惠顾", "谢谢惠顾",
"三等奖", "二等奖", "谢谢惠顾"]
num = int(input("请输入刮去的位置(1~8):"))
if 0 <= num <= len(reward_info):
info = reward_info[num - 1]
print(f"{info}")
else:
print("输入的位置不合规!")
以上代码首先定义了包含8个字符串的列表reward_info,然后使用input()函数接收用户输入的兑奖区的位置,并将其保存到变量num中,最后使用if-else语句处理了num不同值的情况:若num值大于0小于列表reward_info的长度,访问并打印列表reward_info中索引num-1对应的元素,否则就打印“输入的位置不合规”。
代码测试
运行程序,在控制台输入“1”之后的结果如下所示:
请输入刮去的位置(1~8):1
谢谢惠顾
再次运行程序,在控制台输入“6”之后的结果如下所示:
请输入刮去的位置(1~8):6
三等奖
来源地址:https://blog.csdn.net/yw1990128/article/details/129402223