リスト内に様々な要素を手入力し、全て打ち込み終わった後に”stop"と入力したら、一番うしろの文字列(str型)をprintしたいです。。
例「43, banana, 12, 554, soccer, 71」 という5つの要素(banana, soccerはstr型、数字はint型)を打ち込み、"stop"と入力したら、「soccer」とprintされる
ーーーーーーーーーーーーーーーーーーーーー
python
1get_last_string = [] 2 3while True: 4 x = input("入力が完了したら'stop'と入力してください。") 5 if x == 'stop': 6 break 7 get_last_string.append(x) 8 9i = len(get_last_string) 10a = int(i) - 1 11 12for a in get_last_string: 13 if isinstance(get_last_string[a], str): 14 print(get_last_string[a]) 15 break 16 else: 17 a = a - 1 18 19 if a == 0: 20 print("文字列が入力されていません。") 21
ーーーーーーーーーーーーーーーーーーーーー
上記のコードを書いたのですが、
「 11
12 for a in get_last_string:
---> 13 if isinstance(get_last_string[a], str):
14 print(get_last_string[a])
15 break
TypeError: list indices must be integers or slices, not str」
というエラーが出ます。
a はint型に変換したはずなのですが、何が原因なのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/09 19:16