这是代码,我只是不知道为什么即使在阅读过去的答案之后错误也会出现。
import random
rand = random.sample(range(10), 1)
print(rand)
guess = input('Try guessing a number between 0-10! ')
for num in str(guess):
if rand > guess:
print('The number is too low! Try again!')
elif rand < guess:
print('The number is too high! Try again!')
else:
print("You got it!")
答案 0 :(得分:0)
对于此问题,只需将random.sample(range(10), 1)
替换为random.randint(1,11)
或random.choice(range(10))
即可。 random.sample
返回一个列表。您想要返回一个整数,因此您可以进行比较。
另外,您的错误描述似乎不正确。看来你应该得到:
Traceback (most recent call last):
File "<pyshell#11>", line 2, in <module>
if rand>guess:
TypeError: unorderable types: list() > str()
要避免这种情况,请使用int()
功能将输入转换为数字,然后从上方进行其他更改。
答案 1 :(得分:0)
尝试替换
rand = random.sample(range(10), 1)
使用
rand = random.randint(0, 10)
您的代码正在尝试将列表与字符串进行比较。你需要比较两个相同的。还要先尝试猜测整数:
guess = int(input('Try guessing a number between 0-10! '))
并删除str(猜测) - 只是猜测,因为它现在是一个整数