在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')
答
这里是错误的,
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
并测试它是否等于您的号码,当然它不会。
您正在将'None'分配给'random' –
不建议使用名为random的变量。 – The6thSense