前提・実現したいこと
某プログラミング練習サイトでの問題でエラーが発生してしまい先に進めません。
↓下記の与えられた値を読み込み、
3
SET 1 10
SET 2 20
ADD 40
↓下記の条件の通りに計算し
・SET i a : 変数 i に値 a を代入する (i = 1, 2)
・ADD a :「変数 1 の値 + a」を計算し、計算結果を変数 2 に代入する
・SUB a :「変数 1 の値 - a」を計算し、計算結果を変数 2 に代入する
n個(入力値の1行目。ここでは3)の命令を入力される順に実行し終わった後の、変数 1, 2 の値を半角スペース区切りで 1 行に出力する、という問題です。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "Main.py", line 10, in <module> if order[0] == "SET" and order[1] == 1: TypeError: 'int' object is not subscriptable
該当のソースコード
Python3
1# coding: utf-8 2hensu1 = 0 3hensu2 = 0 4 5num = int(input()) 6for i in range(num): 7 order = input().split(" ") 8 9for order in range(num): 10 if order[0] == "SET" and order[1] == 1: 11 hensu1 = order[2] 12 elif order[0] == "SET" and order[1] == 2: 13 hensu2 = order[2] 14 elif order[0] == "ADD": 15 hensu2 = hensu1 + int(order[1]) 16 elif order[0] == "SUB": 17 hensu2 = hensu1 - int(order[1]) 18 19print(str(hensu1),end=" " + str(hensu2))
試したこと
intは添字表記に対応していないということで、10行目の変数 order の型を調べてみましたが「リスト」と出ますし、インデントの外で出力してみてもちゃんとリストの中身が表示されます。それ以外に添字はつけていないのですが…。
初心者なのでこれ以外のデバッグ方法は思いつきません。よろしければ間違いを指摘して頂きたいです。何卒よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
https://paiza.jp/challenges/91/showhttps://paiza.jp/challenges/91/show