【问题标题】:Why is the input() function returning None?为什么 input() 函数返回 None?
【发布时间】:2020-04-30 22:32:11
【问题描述】:

所以我正在使用 Jupyter notebook 以及当我运行代码时

name = input(print('What is your name?'))

代码将产生输出:

What is your name?

None []

由于我无法复制和粘贴使用函数 input() 时出现的矩形,因此假设括号表示该矩形。然后说你在方框里写John Doe,然后它会显示NoneJohn Doe 为什么名字和方框旁边会显示None这个词?你如何删除它?谢谢

【问题讨论】:

  • 你必须return name
  • 我忘记在上面的示例中添加 print(),但是您的意思是使用 retrun 而不是 print?
  • 你为什么在输入中使用 print?
  • 改为使用name = input(What is your name?')。您正在打印print 的返回值。但是输入已经显示提示了。
  • @GuyIncognito - 嗯,这显然是我们需要让他修复的错误。

标签: python input jupyter-notebook


【解决方案1】:

我相信您想提示用户输入他/她的姓名,然后打印出姓名? 如果是这样,试试这个:

name = input('What is your name?')
print('Your name is '+ name)

也考虑到这一点。 Input 以一个提示字符串作为参数,它会自动打印,但 print 返回 None;这是通过输入打印的。您的代码相当于:

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

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

【讨论】:

    猜你喜欢
    • 2022-11-15
    • 2013-02-17
    • 2021-12-30
    • 2019-03-03
    • 2021-12-23
    • 2021-11-13
    相关资源
    最近更新 更多