Random Python 3/eli5-随机数游戏vs电脑
我的任务是和电脑做一个游戏。我应该“想一个数字”,计算机必须猜出来。如果它猜对了,我应该说C,然后跳出循环。如果是一个较低的数字,我应该说L,计算机应该尝试生成一个较低的数字。H代表更高,是相反的情况。到目前为止,我成功地实现了所有功能,只有一个例外。根据下面的代码,例如,如果我告诉计算机L,它将不会超过最后一个数字的限制,但是,如果我说H,它将再次随机生成数字。 请记住,这是一个初学者课程的任务(功能尚未涵盖)。我们必须使用循环。对于函数getInteger和getLetter,请不要注意,它们是我们的教授创建的函数,类似于input(),只是限制用户输入不同于字母或整数的内容 代码如下:Random Python 3/eli5-随机数游戏vs电脑,random,Random,我的任务是和电脑做一个游戏。我应该“想一个数字”,计算机必须猜出来。如果它猜对了,我应该说C,然后跳出循环。如果是一个较低的数字,我应该说L,计算机应该尝试生成一个较低的数字。H代表更高,是相反的情况。到目前为止,我成功地实现了所有功能,只有一个例外。根据下面的代码,例如,如果我告诉计算机L,它将不会超过最后一个数字的限制,但是,如果我说H,它将再次随机生成数字。 请记住,这是一个初学者课程的任务(功能尚未涵盖)。我们必须使用循环。对于函数getInteger和getLetter,请不要注意,它
from pcinput import getLetter, getInteger
from random import random, randint, seed
mynum = getInteger("My number is:")
comnum = randint(0, 1000)
print("Is your number:", comnum, "?")
while True:
answer = getLetter("That is: ")
if answer == "C":
print("Congratulations!")
break
if answer == "L":
comnum = randint(0,comnum)
print("Is your number:", comnum, "?")
possibility = range(comnum, )
continue
elif answer == "H":
comnum = randint(comnum, 1000)
print("Is your number:", comnum, "?")
continue
*comnum是计算机应该输入的字母
我的问题基本上是如何修正这段代码,这样计算机就可以在第一次猜测和最后一次猜测之间创建某种范围,并且不会超过或低于该范围,从而缩短每次猜测之间的间隔。(我希望你明白我的意思)
多谢各位 我的方法是(从您的代码开始):
from random import random, randint, seed
mynum = int(input("My number is: "))
maximum = 1000
minimum = 0
while True:
comnum = randint(minimum, maximum)
print("Is your number:", comnum, "?")
answer = input("That is ")
if answer == "C":
print("Congratulations!")
break
if answer == "L":
maximum = comnum - 1
continue
elif answer == "H":
minimum = comnum + 1