一、Python进阶实战之三级菜单
- 打印省、市、县三级菜单
- 可返回上一级
- 可随时退出程序
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
tag = True
while tag:
menu1 = menu
for key in menu1:
print(key)
choice_1 = input('请选择城市:')
if choice_1 == 'q' or choice_1 == 'b':
tag = False
break
if choice_1 not in menu1 :
print('输入有误')
continue
while tag:
menu2 = menu1[choice_1]
for key2 in menu2:
print(key2)
choice_2 = input('请选择:')
if choice_2 == 'b':
break
if choice_2 == 'q':
tag = False
continue
if choice_2 not in menu2:
print('输入有误')
continue
while tag:
menu3 = menu2[choice_2]
for key3 in menu3:
print(key3)
choice_3 = input('请选择:')
if choice_3 == 'b':
break
if choice_3 == 'q':
tag = False
continue
if choice_3 not in menu3:
print(输入有误)
continue
for key4 in menu3[choice_3]:
print(key4)
inp = input('是否退出?Y/n')
Python基础实战之猜年龄游戏
- 给定年龄,用户可以猜三次年龄
- 年龄猜对,让用户选择两次奖励
- 用户选择两次奖励后可以退出
age = 18 # 答案
count = 0 # 游戏次数控制
prize_dict = {0: '布娃娃', 1: '变形金刚', 2: '奥特曼', 3: '<Python从入门到放弃>'}
# 核心代码
while count < 3:
inp_age = input('请输入你的年龄>>>') # 与用户交互
# 判断用户是否骚扰(超纲:判断用户输入的是否为数字)
if not inp_age.isdigit():
print('傻逼,你的年龄输错了')
continue
inp_age_int = int(inp_age)
# 核心逻辑,判断年龄
if inp_age_int == age:
print('猜对了')
print(prize_dict) # 打印奖品
# 获取两次奖品
for i in range(2):
prize_choice = input(
'请输入你想要的奖品,如果不想要,则输入"n"退出!!!') # 与用户交互获取奖品
# 判断是否需要奖品
if prize_choice != 'n':
print(f'恭喜你获得奖品: {prize_dict[int(prize_choice)]}')
else:
break
break
elif inp_age_int < age:
print('猜小了')
else:
print('猜大了')
count += 1 # 成功玩一次游戏
if count != 3:
continue
again_choice = input('是否继续游戏,继续请输入"Y",否则任意键直接退出.') # 交互是否再一次
# 判断是否继续
if again_choice == 'Y':
count = 0