作业 04

发布时间 2023-12-17 20:40:15作者: 好好努力嗷

实战作业

**猜年龄游戏**
给定年龄,用户可以猜三次年龄
年龄猜对,让用户选择两次奖励
用户选择两次奖励后可以退出
anser=25
count=0
prize={0:"z",1:"x",2:"c"}
while count<3:
        
    guess_age=input("请输入年龄:")
    
     # 判断用户是否恶意输入
    if not guess_age.isdigit():
        print('你的年龄输错了,请输入数字')
        continue
    guess_age=int(guess_age)

    if guess_age==anser:
        for k,v in prize.items():
            print(f"第{k}号对应的礼物是{v}")
        cin=0
        while cin<2:
            num=int(input("请输入你想选择的礼物:"))
            print(f"恭喜你获得{prize[num]}礼物")
            cin+=1
        else:
            con=input("如果你想继续请输入y,要是结束游戏可以输入n,请输入你的选择:").lower()
            if con=='y':
                count=0
            elif con=='n':
                break
            else:
                con=input("你的输入有误,请重新输入:")
    elif guess_age<anser:
        print("猜的小了")
        count+=1
    else:
        print("猜的大了")
        count+=1
else:
    print("感谢你的参与")
**三级菜单**
打印省、市、县三级菜单
可返回上一级
可随时退出程序
menu = {
    '湖北省': {
        '武汉市': ['江岸区', '江汉区', '硚口区'],
        '荆州市': ['沙市区', '荆州区', '石首市']
    },
    '广东省': {
        '广州市': ['白云区', '天河区', '越秀区'],
        '深圳市': ['南山区', '福田区', '宝安区']
    },
    '四川省': {
        '成都市': ['锦江区', '青羊区', '武侯区'],
        '绵阳市': ['涪城区', '游仙区', '安州区']
    }
}

layers = [
    menu
]
while 1:
    current_layer = layers[-1]

    for key in current_layer:
        print(key)
    choice=input(">>:").strip()

    if choice=='q':
        break
    if choice=='b':
        layers.pop(-1)
    if  choice not in current_layer:
        continue
    layers.append(current_layer[choice])