我试图在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')
答案 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
并测试它是否等于您的号码,当然它不是。