有任务:
玩家选择一个1到100之间的随机数,计算机必须猜测。在你开始之前,想想你是怎么猜的。如果一切顺利,试着编写游戏代码。
我的代码是:
import random
num = int(input('Your number: '))
numC = random.randint(1, 100)
tries = 1
while numC != num:
numC = random.randint(1, 100)
if numC > num:
print(numC, 'Less')
numC = random.randint(1, numC)
else:
print(numC, 'More')
numC = random.randint(numC, 100)
tries += 1
print(numC, 'Computer guessed your number with', tries, 'tries')
它起作用了,但我不认为它像作者想要的那样起作用。
如何使这个程序猜测数字使用最少的尝试?我知道这是关于减少随机生成器的帧数,但我不知道如何在不使用无限多变量的情况下做到这一点。
最佳答案
我会改变这种方式,动态地记住范围并猜测正确的范围
import random
num = int(input('Your number: '))
numC = random.randint(1, 100)
tries = 1
lowerLimit=1
upperLimit=100
while numC != num:
if numC > num:
print(numC, 'Less')
upperLimit = numC+1
else:
print(numC, 'More')
lowerLimit = numC-1
tries += 1
numC = random.randint(lowerLimit, upperLimit)
print(numC, 'Computer guessed your number with', tries, 'tries')