web-dev-qa-db-ja.com

Python 3.3 TypeError:+のサポートされていないオペランドタイプ: 'NoneType'および 'str'

プログラミングの初心者で、このエラーが発生する理由がわかりません

count=int(input ("How many donuts do you have?"))
if count <= 10:
    print ("number of donuts: " ) +str(count)
else:
    print ("Number of donuts: many")
11
user2101517

Python3では、printNoneを返すfunctionです。したがって、行:

_print ("number of donuts: " ) +str(count)
_

あなたはNone + str(count)を持っています。

おそらくあなたが望むのは文字列フォーマットを使うことです:

_print ("Number of donuts: {}".format(count))
_
17
mgilson

あなたの括弧は間違った場所にあります:

print ("number of donuts: " ) +str(count)
                            ^

ここに移動:

print ("number of donuts: " + str(count))
                                        ^

または、カンマを使用します。

print("number of donuts:", count)
6
Blender

Python 3 printはステートメントではなくなりました。

print( "number of donuts: " + str(count) ) 

print()の戻り値(None)に追加する代わりに

1
Arcturus