'无'在我的代码中突然出现

时间:2016-04-04 02:37:10

标签: python python-3.x

print("text")
print("text")
name=str(input("text"))
name=name.capitalize()
tutorial=str(input(print(name,"do you know the rules? (YES/NO)",sep=", ")))
tutorial=tutorial.upper()

我无法在代码中找到错误。我每次运行它都会没有"无"不断冒出来。 (替换了代码的某些部分,以便更容易阅读)

Name? >>>HAL 9000
Hal 9000, do you know the rules? (YES/NO)
None #This I want to erase

2 个答案:

答案 0 :(得分:1)

你的问题在这一行:

tutorial=str(input(print(name,"do you know the rules? (YES/NO)",sep=", ")))

您收到None,因为您的输入中有一个不必要的print。您的input正在使用print的返回值,该值不会返回任何内容,因此默认情况下为“无”。您仍然可以看到print内部的内容,因为print的明显功能可以输出您在print方法中发送的内容。

查看复制问题的示例:

>>> input(print('bob'))
bob
None
''
>>>

要解决此问题,请删除该打印件。另外,更改input中的字符串以使用字符串format

tutorial=str(input("{} do you know the rules? (YES/NO)".format(name)))

答案 1 :(得分:0)

print没有返回值,因此将其视为返回None。这意味着您有效地打电话给input(None)打印出来"无"在提示您输入之前。