从 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”

请问一下,知道两个数,随机输出其中一个,用PHP可以做到吗?

c语言产生一个随机的验证码(4位的随机字母和数字的组合),要求用户输入,给出长度不符的输入错位提示