在一个数字范围内,有一个数字作为炸弹,谁猜中这个炸弹就被惩罚.比如范围是1~99,
炸弹是60,然后猜了一个数字是30,30不是炸弹,那么现在猜数字的范围就缩小到30~100,
又猜了一个数字80,80也不是炸弹,那么现在又缩小范围到30~80,每次猜不能猜边界上的值,
直到你或电脑猜中这个炸弹,然后就会受到惩罚,游戏结束
要求:你先输入一个数如果不是炸弹,然后让电脑缩小范围输入一个数字,如果还不是炸弹你再次缩小范围输入,下来又到电脑,依次反复,直到找到炸弹
生成炸弹
打印炸弹范围
自己猜一次
缩小炸弹范围
电脑生成随机数(电脑猜一次)
继续缩小炸弹范围
循环这些操作,直到炸弹爆炸,游戏结束!
import random
x =random.randint(1,100)
print("炸弹数字XX")
start = 1#定义最小范围
end = 100#定义最大范围
while True:
num = int(input("输入{}-{}之间的整数:".format(start, end)))
if num>x:
end = num
print("你猜大了")
elif num == x:
print("你输了,游戏结束!")
break
elif num < x:
start = num
print("你猜小了")
#----------------------------computer(小红)
computer = random.randint(start,end)
print("小红认为炸弹是:",computer)
if computer>x:
end = computer
print("小红猜大了")
elif computer == x:
print("你赢了")
print("游戏结束")
break
elif computer<x:
start=computer
print("小红猜小了")
核心代码使用了比较函数,用来更新炸弹范围
用random生成(1-100)中的随机数(代表炸弹)
用两个变量定义炸弹上下限
用input接受你猜的数,用if判断如果你猜的数大于炸弹就把你猜的数赋给炸弹上限end(更改炸弹上限),如果等于炸弹,游戏结束!如果小于炸弹,把你猜的值赋给炸弹下线start
用random生成一个随机数,让小红猜一次,同样用if判断,大与炸弹值更改上限,小于缩小下限。直到游戏结束!