day-06 作业
day06 作业
1. 猜年龄
要求:
1.给定年龄,用户可以猜三次年龄
2.年龄猜对,让用户选择两次奖励
3.用户选择两次奖励后可以退出
思路:
1.先实现猜年龄的功能
2.增加年龄猜对,让用户选择两次奖励,
3.每次选择后都更新奖品清单,每次选择都可以随时退出
4.两次选择结束后,退出游戏
5.给游戏设置最大次数为3次,达到3次后让用户选择是否重新开始游戏
实现代码:
age = 18 # 游戏答案
prize_dic = {0: '棒棒糖', 1: '酸奶', 2: '口香糖'} # 奖品清单
count = 0 # 控制次数
while count < 3:
# 获取用户输入信息
user_inp = input('请输入你猜的年龄:')
user_inp_int = int(user_inp)
# 判断用户输入的信息
if user_inp_int > age:
print('猜大了>_<')
elif user_inp_int == age:
print('猜对啦^_^')
print('你有两次选择奖品的机会:')
user_choice = input("选择奖品请按'Y',退出请按任意键: ")
if user_choice == 'Y':
print(f'奖品清单:{prize_dic}')
# 判断用户选择的第一个奖品
prize_choice = input("请选择一个奖品序号,或输入'N'退出: ")
if prize_choice != 'N':
print(f'恭喜你获得了{prize_dic[int(prize_choice)]}!')
del prize_dic[int(prize_choice)]
# 判断用户选择的第二个奖品
print(f'剩余奖品清单:{prize_dic}')
prize_choice = input("请在剩余的奖品中选择一个序号,或输入'N'退出: ")
if prize_choice != 'N':
print(f'恭喜你获得了{prize_dic[int(prize_choice)]}!')
print('游戏结束!')
del prize_dic[int(prize_choice)]
else:
break
else:
break
else:
break
break
else:
print('猜小了>_<')
count = count + 1
if count != 3:
continue
# 判断是否重新开始游戏
again_choice = input('是否继续游戏,继续请输入"Y",否则任意键直接退出.')
if again_choice == 'Y':
count = 0
2. 三级菜单
要求:
1.打印省、市、县三级菜单
2.可返回上一级
3.可随时退出程序
思路:
1.先打印一级目录
2.当选择一个一级目录的内容,打印选择内容的二级目录
3.当选择一个二级目录的内容,打印选择内容的三级目录
3.当选择一个三级目录的内容,打印选择内容
4.让每层程序循环起来
5.增加返回上层程序的条件、增加每层中退出程序的条件
实现代码:
contents = {'浙江省': {'杭州市': {'西湖区': {}, '滨江区': {}, '萧山区': {}},
'宁波市': {'余姚市': {}, '慈溪市': {}, '象山县': {}},
'温州市': {'乐清市': {}, '永嘉县': {}, '平阳县': {}}},
'江苏省': {'南京市': {'玄武区': {}, '秦淮区': {}, '鼓楼区': {}},
'无锡市': {'滨湖区': {}, '梁溪区': {}, '新吴区': {}},
'徐州市': {'云龙区': {}, '鼓楼区': {}, '贾汪区': {}}},
'广东省': {'广州市': {'越秀区': {}, '荔湾区': {}, '海珠区': {}},
'深圳市': {'福田区': {}, '罗湖区': {}, '南山区': {}},
'珠海市': {'香洲区': {}, '斗门区': {}, '金湾区': {}}}
}
# 查询行政区划
flag = True # 控制退出程序
while flag:
user_input1 = input("是否查询城市的行政区划(请输入'Y'进行查询或按任意键退出):")
# 获取一级目录
if user_input1 == 'Y':
print('\t你可以查询以下省份:')
for i in contents:
print(f'\t\t{i}')
# 获取二级目录
while flag:
user_input2 = input("\t\t请输入想要查询的省份(按'b'返回上一层,按'q'退出): ")
if user_input2 in contents:
for i in contents[user_input2]:
print(f'\t\t\t{i}')
elif user_input2 == 'b':
break
elif user_input2 == 'q':
flag = False
else:
print('\t\t未收录。')
continue
# 获取三级目录
while flag:
user_input3 = input("\t\t\t请输入想要查询的区域(按'b'返回上一层,按'q'退出): ")
if user_input3 in contents[user_input2]:
for i in contents[user_input2][user_input3]:
print(f'\t\t\t\t{i}')
elif user_input3 == 'b':
break
elif user_input3 == 'q':
flag = False
else:
print('\t\t\t信息不全。')
continue
else:
break