小练习

第一题:猜年龄游戏,添加奖品选择

'''
需求:
1.给定年龄,用户可以猜三次年龄
2.年龄猜对,让用户选择两次奖励
3.用户选择两次奖励后可以退出
'''
tn = 18
ct = 0
i = 1
prz = {0: '布娃娃', 1: '变形金刚', 2: '奥特曼', 3: '<Python从入门到放弃>'}
while True:
    ct += 1
    ipn = int(input('请输入你猜的年龄:'))
    if ipn > tn:
        print('猜大了')
    if ipn < tn:
        print('猜小了')
    if ipn == tn:
        print('猜对了')
        print(prz)
        print('请输入你想要的奖品,如果不想要则输入n')
        sel = input('请选择:')
        if (sel != 'n') and (int(sel) in prz.keys()):
            print(f'恭喜你获得{prz[int(sel)]}')
        print('你还可以再选择一次奖品,不想要输入n')
        sel2 = input('请选择:')
        if (sel2 != 'n') and (int(sel2) in prz.keys()):
            print(f'恭喜你获得{prz[int(sel2)]}')
        break
    if ct % 3 == 0:
        print('充值一元可继续猜三次,输入Y或y可充值继续,输入N或n将直接退出')
        while True:
            ipn2 = input('请选择:')
            if ipn2 == 'Y'or ipn2 == 'y':
                print('充值成功')
                break
            if ipn2 == 'N' or ipn2 == 'n':
                i = 0
                break
            else:
                print('非法输入,请重新选择')
    if i == 0:
        break

第二题:三级菜单

'''
需求:
1.打印省、市、县三级菜单
2.可返回上一级
3.可随时退出程序
'''
menu = {
    '北京': {
        '海淀': {
            '五道口': {
                'soho': {},
                '网易': {},
                'google': {}
            },
            '中关村': {
                '爱奇艺': {},
                '汽车之家': {},
                'youku': {},
            },
            '上地': {
                '百度': {},
            },
        },
        '昌平': {
            '沙河': {
                '老男孩': {},
                '北航': {},
            },
            '天通苑': {},
            '回龙观': {},
        },
        '朝阳': {},
        '东城': {},
    },
    '上海': {
        '闵行': {
            "人民广场": {
                '炸鸡店': {}
            }
        },
        '闸北': {
            '火车战': {
                '携程': {}
            }
        },
        '浦东': {},
    },
    '山东': {},
}
tree_lt = [menu]
# tag = True
print('您可以选择相应区域查看详细也可以选择b返回上级菜单或者选择q退出')
while True:
    for i in tree_lt[-1].keys():
        print(i)
    j = input('请选择:')
    if j == 'b':
        if len(tree_lt) >= 2:
            tree_lt.pop()
        else:
            print('已经到最顶层了')
        continue
    if j == 'q':
        break
    if j not in tree_lt[-1].keys():
        print('非法输入,重新选择')
        continue
    tree_lt.append(tree_lt[-1][j])
    if len(tree_lt) == 5:
        print('已经到最底层了,您可以选择b返回上级菜单或者选择q退出')
原文地址:https://www.cnblogs.com/-406454833/p/11523997.html