在python中创建一个小程序

时间:2016-12-01 09:51:44

标签: python

我试图在Python 3.5中创建一个程序,要求用户输入1到9之间的数字。程序也会猜测1到9之间的数字。如果用户猜到了正确相同的数字,然后程序将打印Correct。否则,程序将打印Wrong。我写了一个程序。我的代码一切顺利。但是,当我正确猜出一个数字时,程序突然写了Wrong而不是Correct。我做错了什么?

这是我的代码:

print('Enter a number from 1 to 9')
x = int(input('Enter a number: '))
import random
random = print(random.randint(1,9))
if int(x) != random:
    print ('Wrong')
else:
    print ('Correct')

3 个答案:

答案 0 :(得分:2)

您正在保存print()电话的结果(以及屏蔽random)。 print()返回None,因此它总是不等于整数,因此总是“错误的”。

import random

print('Enter a number from 1 to 9')
x = int(input('Enter a number: '))
r = random.randint(1,9)
if x != r:
    print('Wrong')
else:
    print('Correct')

另请注意,我已将import语句移至顶部,避免对您已经完成的事情进行第二次int()投射,并删除了{{1}之间的空格引用及其参数。

答案 1 :(得分:1)

这是错误,

random = print(random.randint(1,9))

你需要做这样的事情。

random = random.randint(1,9)
print(random)

此外,您已将输入转换为int,因此您可以这样做。

if x != random:

答案 2 :(得分:0)

正如你所指出的,你的错误是行

random = print(random.randint(1,9))

但为什么?

functions(例如print() 接受某些内容,某事(带有它),然后回复

实施例: sum(3,4) 3和4,可以添加返回 7。

另一方面,

print("Hello World") “Hello world”,在屏幕上打印但没有任何用处可以回馈,因此返回 None(Pythons说“什么都没有”)。

然后,您将None分配给名称random并测试它是否等于您的号码,当然它不是。