用Python 3.3.0尝试了我的第一个程序
print ("cookies")
x= input ("enter your name")
print ("good day to you sir ") + x
当我想用F5开始我的程序时,它说
Traceback (most recent call last):
File "C:/Users/xxxx/Desktop/cookies.py", line 3, in <module>
print ("good day to you sir ") + input
TypeError: unsupported operand type(s) for +: 'NoneType' and 'builtin_function_or_method'
答案 0 :(得分:4)
print ("good day to you sir ") + x
print
是Python 3中的一个函数,因此括号属于该函数。 print
函数本身的返回值为None
,因此您基本上所做的是None + x
,这恰好会引发您获得的错误。
你要做的是在括号内直接连接两个字符串:
print("good day to you sir " + x)
另外你的异常实际上有点不同,你仍然有print(..) + input
(我想这是你的代码的旧版本?)注意input
是对得到的函数的引用来自用户的数据,因此您实际上尝试添加None
和函数引用。
答案 1 :(得分:1)
正确的打印方式是print ("hello", input)
或print ("hello" + input)
答案 2 :(得分:0)
要打印的所有文本和变量都必须位于打印功能的括号内。
所以代替:
print("good day to you sir ") + x
它将是:
print("good day to you sir " + x)
或者,您也可以使用逗号代替加号自动提供空格:
print("good day to you sir", x)
代码的所有其他部分都很好。