Python小游戏--数字“炸弹“

  • 今天是自学python的第七天,检验学习成果:
  • 数字炸弹游戏规则:在一个数字范围内,设定一个数字作为炸弹,猜中这个炸弹游戏结束。
  • (根据每一次猜测的数字,缩小数字范围),
  • 我的思路:
  • 1:电脑随机生成一个数字
  • 2:通过循环,缩小炸弹范围(需要每一次都显示出新的范围是什么)
  • 3:输入的数值超出范围或者不为整数,提示重新输入
  • 4:猜测次数有上限值,超过上限,则游戏失败,每一次猜测后,提示剩余次数
  • 5:统计一轮游戏中,符合要求的猜测次数(不是数值,不是整数,超出范围的数字不统计)
  • 6:一轮游戏结束,程序不退出,开始新的一轮,也可以手动选择退出
  •  
    import random
    rand=random.randint(1,100)
    
    while True:# 无限循环,退出条件在最下面
        print('-------已生成一个1-100的随机数-------')
        count=1 # 记录正确猜数的次数
        start=1 # 范围内的最小值
        end=100 # 范围内的最大值
    
        while count<11:# 猜测次数上限为10次
            try:#正确输入整数,执行
                number=eval(input('炸弹数字是什么?数字范围{}-{}:'.format(start,end)))
                if number < start or number > end:
                    print('超出范围,请重新输入\n')
                    continue
                elif number==rand:
                    print('BOOM!!!')
                    break
                elif number>rand:
                    print('大了,还有',10-count,'次机会\n')
                    end=number
                else:
                    print('小了,还有',10-count,'次机会\n')
                    start=number
            except:# 输入的不是整数,执行
                print('''输入有误,请重新输入\n''')
                continue
            count+=1
        print('共猜测了',count, '次')
    
        if count>10:
            print('次数用完,游戏失败。')
    #  结束程序
        ending = input('''--------- --本轮游戏结束----- -----
            退出游戏请按1,继续下一轮游戏请按2\n''')
        if ending == '1':
            break# 按照提示输入1,这个程序结束
    print('================================') # 单纯为了好看
    
    
    
    

你可能感兴趣的:(python,开发语言)