web-dev-qa-db-ja.com

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

私は現在、Pythonを学んでいるので、何が起こっているのか分かりません。

num1 = int(input("What is your first number? "))
num2 = int(input("What is your second number? "))
num3 = int(input("What is your third number? "))
numlist = [num1, num2, num3]
print(numlist)
print("Now I will remove the 3rd number")
print(numlist.pop(2) + " has been removed")
print("The list now looks like " + str(numlist))

Num1、num2、num3の数字を入力してプログラムを実行すると、次の結果が返されます。トレースバック(最後の最後の呼び出し):

TypeError: unsupported operand type(s) for +: 'int' and 'str'
22
user3077439

文字列と整数を連結しようとしていますが、これは正しくありません。

print(numlist.pop(2)+" has been removed")を次のいずれかに変更します。

intからstrへの明示的な変換:

print(str(numlist.pop(2)) + " has been removed")

つかいます , の代わりに +

print(numlist.pop(2), "has been removed")

文字列のフォーマット:

print("{} has been removed".format(numlist.pop(2)))
38

試して、

str_list = " ".join([str(ele) for ele in numlist])

このステートメントは、リストの各要素をstring形式で提供します

print("The list now looks like [{0}]".format(str_list))

そして、

print(numlist.pop(2)+" has been removed")を変更

print("{0} has been removed".format(numlist.pop(2)))

同じように。

1
Siva Cn