从 0 到 20 的随机数生成器,用户输入一个可以为真或假的数字
Posted
技术标签:
【中文标题】从 0 到 20 的随机数生成器,用户输入一个可以为真或假的数字【英文标题】:Random Number Generator from 0 to 20 and User inputs a number that can be true or false 【发布时间】:2019-11-20 18:54:52 【问题描述】:所以基本上我编写了一个 Python 代码,它给出了一个 0 到 20 之间的随机数。当我运行它时,它使猜测的数字为假,而猜测的数字为真。我试图通过告诉它是 14 来使只有一个答案为真,这一定是真的。但我犯了一个错误。这是我第二次使用输入法,所以请不要告诉我愚蠢。 感谢您的帮助
from random import *
def main():
question = input("Guess a number between 0 and 20 \n")
randomInt = randrange(14, 15)
if randomInt == question:
print("You are right! It is " + str(randomInt))
else:
print("Wrong the number is " + str(randomInt))
if __name__ == '__main__':
main()
【问题讨论】:
^ 提示question
不是整数。
由于对str(randomInt)
的调用,OP 似乎意识到randomInt
不是字符串,但不知道例如"14" == 14
由于类型差异而为假。
有些语言会将字符串隐式转换为整数。 Python 不是其中之一。
【参考方案1】:
您需要将输入包装在 int() 中,如下所示:
from random import *
def main():
question = int(input("Guess a number between 0 and 20 \n"))
randomInt = randrange(14, 15)
if randomInt == question:
print("You are right! It is " + str(randomInt))
else:
print("Wrong the number is " + str(randomInt))
if __name__ == '__main__':
main()
还可以考虑将您的导入更改为仅“导入随机”并将您的随机数定义为“randomInt = random.randint(14,14)。使用 random 将为您提供您想要的范围以便 random.randint(0,10 ) 正好是 0 到 10 到,而不是 0 到 9,只有 randrange
【讨论】:
【参考方案2】:我相信您必须在比较两者之前将输入转换为 int,因为您的输入被解释为字符串,但您的随机 gen 是 int。
"14" 与 14 不同,因此检查失败。
【讨论】:
【参考方案3】:我前段时间遇到过这个问题!它要求输入,但是对于输入,它会期望文本,因此输入的任何输入都被视为文本。相反,您需要使用以下代码:
question = int(input("Guess a number between 1 and 20 \n"))
这将告诉 Python 你正在处理一个数字。 :]
【讨论】:
【参考方案4】:我认为这段代码会对你有所帮助!!!!!!!!!!
import random
def main():
guess=input("Guess a number between 0 and 20 \n")
randomint=random.randint(0,20)
#print(randomint)
if randomint==guess:
print("Wow, Superb", randomint)
else:
print("Whooo!!!!!!",randomint)
if __name__=='__main__':
main()
【讨论】:
以上是关于从 0 到 20 的随机数生成器,用户输入一个可以为真或假的数字的主要内容,如果未能解决你的问题,请参考以下文章
生成随机数(Random类)和获取用户输入(Scanner类)
JS中,输出1-10之间的随机整数,用Math.random()咋搞呢
编程实现:由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”