0

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'
4

3 に答える 3

4
print ("good day to you sir ") + x

printは Python 3 の関数なので、括弧は関数に属します。print関数自体には の戻り値があるためNone、本質的に行うことは ですNone + x。これにより、取得したエラーが正確に発生します。

代わりに、2 つの文字列をかっこ内で直接連結します。

print("good day to you sir " + x)

また、例外は実際には少し異なりますが、まだありますprint(..) + input(これは古いバージョンのコードだったと思いますか?)inputユーザーからデータを取得する関数への参照であるため、実際に追加しようとすることにNone注意してください関数参照。

于 2013-02-24T20:10:28.790 に答える
1

値を印刷する正しい方法はprint ("hello", input)またはprint ("hello" + input)

于 2013-02-24T20:10:17.583 に答える
0

印刷されるすべてのテキストと変数は、印刷関数の括弧内にある必要があります。

代わりに:

print("good day to you sir ") + x

それはそのようになります:

print("good day to you sir " + x) 

または、プラス記号の代わりにコンマを使用して、自動的にスペースを入れることもできます。

print("good day to you sir", x)

コードの他のすべての部分は問題ありません。

于 2013-05-12T00:34:43.480 に答える