白駿5613計算機プログラム
4207 ワード
質問する
加算、減算、乗算、除算を行う計算機プログラムを作成します.
入力
入力された行ごとに、数値と+、-、/、=が交互に与えられます。最初の行は数字です。演算子の優先度を考慮せずに入力順に計算し、=の場合はその結果に出力します。与えられた数は10^8以下の正の整数である.計算の結果は0または負の値とすることができますが、-10^8~10^8の範囲を超えません。なお、除算では小数点は切り捨てられている。したがって、100/33=99となります。
被除数が負数の場合、除算を入力として与えることはできません.
しゅつりょく
計算結果を1行目に出力します。
入力例1
1
1
サンプル出力1
2
解法
前の数値を保存し、演算する演算子を保存します.
コード#コード#
prev = result = 0
op = ''
while True:
now = input()
if now.isdigit(): # 입력이 숫자이면
if op == '+': # 이전 연산자가 +이면 더하고 갱신
prev += int(now)
elif op == '-': # 이전 연산자가 -이면 빼고 갱신
prev -= int(now)
elif op == '*': # 이전 연산자가 *이면 곱하고 갱신
prev *= int(now)
elif op == '/': # 이전 연산자가 /이면 나누고 갱신
prev //= int(now)
else: # 이전 연산자가 없다면 (처음 받는 숫자 입력이면) 그 입력 숫자로 갱신
prev = int(now)
else: # 입력이 연산자이면
if now == '=': # 입력이 연산자 중 =이면 정답은 이전 값이고 탈출
result = prev
break
op = now # 연산자 갱신
print(result)
白駿5613計算機プログラム
Reference
この問題について(白駿5613計算機プログラム), 我々は、より多くの情報をここで見つけました
https://velog.io/@mynote/백준-5613-계산기-프로그램
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
前の数値を保存し、演算する演算子を保存します.
コード#コード#
prev = result = 0
op = ''
while True:
now = input()
if now.isdigit(): # 입력이 숫자이면
if op == '+': # 이전 연산자가 +이면 더하고 갱신
prev += int(now)
elif op == '-': # 이전 연산자가 -이면 빼고 갱신
prev -= int(now)
elif op == '*': # 이전 연산자가 *이면 곱하고 갱신
prev *= int(now)
elif op == '/': # 이전 연산자가 /이면 나누고 갱신
prev //= int(now)
else: # 이전 연산자가 없다면 (처음 받는 숫자 입력이면) 그 입력 숫자로 갱신
prev = int(now)
else: # 입력이 연산자이면
if now == '=': # 입력이 연산자 중 =이면 정답은 이전 값이고 탈출
result = prev
break
op = now # 연산자 갱신
print(result)
白駿5613計算機プログラムReference
この問題について(白駿5613計算機プログラム), 我々は、より多くの情報をここで見つけました https://velog.io/@mynote/백준-5613-계산기-프로그램テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol