day6 水导作业 猜年龄改进

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

复制代码
dead=5
while dead>0:
    age_raw=input("猜猜啦").strip()
    if age_raw.isdigit():
        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("下次再见!")
                dead=0
            else:
                print(f"恭喜获得了{award1[choice]}")
                dead=0
        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("下次再见!")
                            dead=0
                        else:
                            print(f"恭喜获得了{award2[choice]}")
                            dead=0
                        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")
   # break        
    else:
        print("请输入数字")
        dead-=1
复制代码

 

posted @   Junior_bond  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示