zoukankan      html  css  js  c++  java
  • 小项目--猜年龄游戏

    这是今天需要预习的一个小项目,规则如下

    1. 给定年龄,用户可以猜三次年龄
    2. 年龄猜对,让用户选择两次奖励
    3. 用户选择两次奖励后可以退出

    '''
    给定年龄,用户可以猜三次年龄
    
    年龄猜对,让用户选择两次奖励
    
    用户选择两次奖励后可以退出
    '''
    age = 18  # 答案
    count = 0  # 游戏次数控制
    prize_dict = {0: '布娃娃', 1: '变形金刚', 2: '奥特曼', 3: '<Python从入门到放弃>'}
    
    while count < 3:
        age_of_user = input("输入您猜的年龄:")
        if not age_of_user.isdigit():
            print("请输入数字兄弟")
            continue
        age_of_user = int(age_of_user)
        if age_of_user == age:
            print("恭喜您猜对了,您有两次选择奖励的机会,输入'q'退出")
            count = 2
            prize_key = [0]*2
            k = 0
            while k < 2:
                print(prize_dict)
                choice = input("输入您想要的奖励")
                if choice == 'q':
                    count = 99
                    break
                if not choice.isdigit():
                    print("请输入数字兄弟")
                    continue
                choice = int(choice)
                if choice in prize_dict:
                    print("您选择了%s" % prize_dict[choice])
                    prize_key[k] = choice
                    k += 1
                else:
                    print("请输入0-3")
                    continue
            print("您选择的奖励有:")
            if k:
                for i in range(2):
                    print(" %s" % prize_dict[prize_key[i]])
        elif age_of_user < age:
            print("猜 小 了嗷铁子")
        else:
            print("猜 大 了嗷铁子,你还有%d次机会")
    
        if count == 99:
            print("不要奖励你是真的牛批,拜拜")
            break
        if count == 2:
            while True:
                choice_want_continue = input("机会用完啦,还想继续吗 ['Y'or'y' 是] ['N'or'n' 否]")
                if choice_want_continue == 'Y' or choice_want_continue == 'y':
                    count = 0
                    break
                elif choice_want_continue == 'N' or choice_want_continue == 'n':
                    break;
                else:
                    print("不要调皮了,能成熟一点吗")
                    continue
        else:
            while True:
                again = int(input("还想继续吗铁子,你还有%s次机会,按0退出,按1继续" % (2 - count)))
                if again == 1:
                    count += 1
                    break;
                elif again == 0:
                    count =3
                    break;
                else:
                    print("输入0或者1,别玩了兄弟")
                    continue
    

    其实也没有什么好说的,我觉得可以更新的一些地方就是,给用户来一个列表用来放已经获得的奖品,或者说奖品每一份有多少,这样选择的时候就比较现实了。

    而且我觉得挺有意思的就是关于猜数字,如果有人能够告诉你,你猜的跟实际的是偏大还是偏小的话,每次都选择中间的数字就挺好的,比如给出范围0-100,第一次就猜50,大了就25,小了就75,哈哈哈,就是二分法啦。

    不过我觉得可以引申下去,那么在100以内,最多猜多少次就能猜中这个数字呢?

    我的猜想是7次,毕竟27>100>26...

  • 相关阅读:
    Scala学习十二——高阶函数
    Scala学习十一——操作符
    Scala学习十——特质
    Scala学习九——文件和正则表达式
    Scala学习八——继承
    Scala学习七——包和引入
    Scala学习六——对象
    Scala学习五——类
    Scala学习四——映射和数组
    Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践
  • 原文地址:https://www.cnblogs.com/fanwenkeer/p/11265967.html
Copyright © 2011-2022 走看看