水导day6作业 猜年龄改进

发布时间 2023-11-15 13:58:49作者: Junior_bond

2. 编写猜年龄游戏,有以下要求:
1. 可能会有用户会在输入年龄之后不小心输入空格,如18   ,请做处理
2. 可能会有用户会恶意输入导致程序报错,如`逗你玩呀`,请做处理
3. 如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)
4. 如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):`{0:'buwawa',1:'bianxingjingang',2:'aoteman',3:'《python从入门到放弃》'}`
5. 用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。

age_raw=input("猜猜啦")
age=int(age_raw.strip())
times=3
award1={"0":"yjl","1":"xtx","2":"jxy"}
award2={"0":"ywh","1":"jlq","2":"xtx"}
if age ==18:
    print("一次就猜对啦")
    print("这是奖励列表①")
    print(award1)
    choice=input("请选择你要的奖励按0或者1或者2: (如果拒绝获奖可输入NO)  ")
    if choice=="NO":
        print("下次再见!")
    else:
        print(f"恭喜获得了{award1[choice]}")
if age!=18:
    print("错啦")
    want=input("按1将获得3次尝试机会,按0结束游戏,请选择!")
    if want =="1":
        while times>0:
            age=int(input(f"再猜一次! 你还有 {times} 次机会!   "))
            if age ==18:
                print("终于猜对啦!")
                print("这是奖励列表②")
                print(award2)
                choice=input("请选择你要的奖励按0或者1或者2: (如果拒绝获奖可输入NO)  ")
                if choice=="NO":
                    print("下次再见!")
                    
                else:
                    print(f"恭喜获得了{award2[choice]}")
                
                break
            if age!=18:
                print("错啦!你可以继续尝试")
                times-=1
                if times==0:
                    want_again=int(input("三次机会结束了,继续还是结束?继续请按1,结束请按0"))
                    if want_again==1:
                        times=1
                    if want_again==0:
                        print("bye~bye~")
                        break
                    
    if want=="0":
        print("see you")