Python 为什么input()函数返回None?

Python 为什么input()函数返回None?,python,input,jupyter-notebook,Python,Input,Jupyter Notebook,所以我使用的是Jupyter笔记本,当我运行代码时 name = input(print('What is your name?')) 代码将生成以下输出: What is your name? None [] 由于我无法复制和粘贴在使用函数input()时出现的矩形,因此让我用括号表示该矩形。然后假设您在框中写入John Doe,它将显示None John Doe为什么名称和框旁边会显示单词None?如何移除它?谢谢我想您是想提示用户键入自己的姓名,然后打印出来吗? 如果是,请尝试以下方

所以我使用的是Jupyter笔记本,当我运行代码时

name = input(print('What is your name?'))
代码将生成以下输出:

What is your name?

None []

由于我无法复制和粘贴在使用函数input()时出现的矩形,因此让我用括号表示该矩形。然后假设您在框中写入
John Doe
,它将显示
None John Doe
为什么名称和框旁边会显示单词None?如何移除它?谢谢

我想您是想提示用户键入自己的姓名,然后打印出来吗? 如果是,请尝试以下方法:

name = input('What is your name?')
print('Your name is '+ name)
也要记住这一点。 Input将提示字符串作为其参数,它将自动打印该字符串,但print不返回任何参数;正是这些信息通过输入打印出来。您的代码相当于:

name = print(...) # prompt == None
ans = str(input(name))

相反,使用str.format生成提示并将其直接传递给输入

您必须
返回名称
我忘记在上面的示例中添加print(),但您的意思是使用retrun而不是print吗?为什么在输入中使用print?改为使用
name=input(您的名字是什么?)
。您正在打印
print
的返回值。但是input已经显示了提示。@GuyIncognito-嗯,这很明显是我们需要他纠正的错误。