在python中创建一个小程序

问题描述:

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

这里是我的代码:

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') 
+2

您正在将'None'分配给'random' –

+1

不建议使用名为random的变量。 – The6thSense

这里是错误的,

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

你需要做这样的事情。

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

此外,您已经将输入转换为int,所以您可以做到这一点。

if x != random: 

您要保存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()投上的东西你已经这样做了到,并取消了print参考及其参数之间的空间。

正如指出你的错误是行

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

但是,为什么?

functions(如print()采取东西,东西(它)和东西回来

例: sum(3,4)需要 3和4,可以添加他们返回 7.

print("Hello World")另一方手需要“你好世界”,打印它在屏幕上,但没有什么有用的回报,因此返回None(pythons方式说“没有”)。

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