我的程序应该猜一个数字。首先,用户猜出一个数字(在脑海中),而不告诉计算机。然后,计算机开始猜测该数字。用户看到计算机猜到的数字并发送三种类型的字符串之一:
我有一个问题:当系统猜测数字时,找到答案的时间太长,因为程序中随机范围不会改变。有人可以帮助我改善代码以提高效率吗?
import random
b = 0
a = 0
hads = random.randint(1,99)
print(hads)
user = str(input('bigger or lower number : '))
while user != 'c':
if user == 'b':
a = hads
b = 99
elif user == 'l':
b = hads
a = 1
hadss = random.randint(a,b)
print(hadss)
user = str(input('bigger or lower number : '))
print('woooow')
最佳答案
我认为您应该从一开始就启动a和b,然后在循环中只需更改一个变量即可。您遇到的问题是,您不断将a
和b
重置为其初始值1
和99
,因此基本上您的代码只是在1
和99
之间随机猜测,这就是为什么要花这么长时间的原因!
import random
b = 99
a = 1
hads = random.randint(a,b)
print(hads)
user = str(input('behem begoo cheghadr fasele daram : '))
while user != 'c':
if user == 'b':
a = hads
elif user == 'l':
b = hads
hads = random.randint(a,b)
print(hads)
user = str(input('behem begoo cheghadr fasele daram : '))
print('woooow')
关于python - python以不同的方式猜测数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59143780/