[解決済み】TypeError: リストにはリストしか連結できない(「str」ではない)
2022-01-03 05:30:21
質問
RPGで使用するインベントリプログラムを作ろうとしています。このプログラムは、物を追加したり削除したり、そしてリストに追加することができる必要があります。これは私が今までに持っているものです。
inventory=["sword","potion","armour","bow"]
print(inventory)
print("\ncommands: use (remove) and pickup (add)")
selection=input("choose a command [use/pickup]")
if selection=="use":
print(inventory)
remove=input("What do you want to use? ")
inventory.remove(remove)
print(inventory)
elif selection=="pickup":
print(inventory)
add=input("What do you want to pickup? ")
newinv=inventory+str(add)
print(newinv)
これを実行して、何かを拾おうとすると、こんなエラーが出ます。
Traceback (most recent call last):
File "H:/Year 10/Computing/A453/Python Programs/inventory.py", line 15, in <module>
newinv=inventory+str(add)
TypeError: can only concatenate list (not "str") to list
どなたか修正方法をご存知の方はいらっしゃいませんか?
解決方法を教えてください。
あなたがしたいことは、リストに新しいアイテムを追加することだと思います。
newinv=inventory+str(add)
をこのように変更します。
newinv = inventory.append(add)
今あなたがしていることは、リストと文字列を連結しようとしていることで、これはPythonでは無効な操作です。
しかし、あなたが望んでいるのは、リストに項目を追加したり削除したりすることだと思うので、その場合は if/else ブロックが必要です。
if selection=="use":
print(inventory)
remove=input("What do you want to use? ")
inventory.remove(remove)
print(inventory)
elif selection=="pickup":
print(inventory)
add=input("What do you want to pickup? ")
inventory.append(add)
print(inventory)
新しいアイテムを追加するたびに、新しいインベントリーリストを構築する必要はありません。
関連
-
[解決済み] メインループの 'builtin_function_or_method' オブジェクトが反復可能でない
-
[解決済み】データフレームで関数を適用する場合、dim(X)は正の長さでなければならない
-
[解決済み] ポインタからキャストを使わずに整数を返す [-Wint-conversion] 戻り値の候補を作る
-
[解決済み] python: 'str' と 'tuple' オブジェクトの連結ができない (うまくいくはず!)
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リスト項目の出現回数を数えるにはどうしたらいいですか?
-
[解決済み] リストを反転させるには?
-
[解決済み] ローカルにインストールされたPythonモジュールの一覧を取得するにはどうしたらいいですか?
-
[解決済み] リスト内の項目を1つの文字列に連結するには?
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++使用時、代入の左オペランドにlvalueが必要なエラーについて
-
[解決済み】このリポジトリで別のgitプロセスが動作しているようです。
-
[解決済み】なぜ「Pickle - EOFError.」が発生するのでしょうか?空のファイルを読むと「Ran out of input」と表示されるのはなぜですか?
-
[解決済み】データフレームで関数を適用する場合、dim(X)は正の長さでなければならない
-
[解決済み】ValueError: 入力配列を形状 (224,224,3) から形状 (224,224) にブロードキャストできませんでした。)
-
[解決済み】マージが終了していない(MERGE_HEADが存在する)。
-
[解決済み] MIPSのフェッチアドレスがワード境界にアライメントされていないため、.align 4を使用したが、まだうまくいかない
-
[解決済み】math.hを含むにもかかわらず、C言語でpow( )への未定義参照【重複あり
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法とは?
-
[解決済み】AdMobにアプリケーションを入れたら「ライブラリが見つからない」というエラーが出た