728x90
반응형
조건
1. 아래의 조건을 만족하도록 작성 후 출력하기
1. 무한루프로 사용자에게 수식을 입력받는다.
2. 수식 대신 대문자 X가 입력되면 종료.
3. 수식을 계산해서 수식과 결과를 출력한다.
결과는 총 40칸으로 오른쪽 정렬하여 출력.
4. 사용자가 수식을 계속해서 입력하면 기존의 수식들을 출력하고
기존 결과에 추가로 수식을 계산한 결과를 출력한다.
5. 수식 대신 C를 입력하면 0을 출력하고 수식들을 전부 초기화.
result = 0
lst = []
while True:
ss = ''.join(lst) # 입력된 수식 보여주기 위해 문자열로 변환
ins = input(f"{ss}") # 입력 받음
if ins != "X" and ins != "C": # X도 아니고, C 도 아니면 수식 계속 입력 중
lst.append(ins) # 입력된 문자열을 리스트에 추가
elif ins == "X": # X면 종료
result = int(lst[0]) # 처음 입력 값을 result에 대입
for i in range(1, len(lst), 2): # 인덱스 1번부터 step=2로 이동.
if lst[i] == '+': # + 이면
result += int(lst[i+1])
elif lst[i] == '-':
result -= int(lst[i+1])
elif lst[i] == '*':
result *= int(lst[i+1])
elif lst[i] == '/':
result /= int(lst[i+1])
ss = ''.join(lst) # 리스트(lst)에 있는 수식들을 합쳐서 문자열로 만듬
ss += ' = ' + str(result) # 수식 계산 결과를 문자열로 만들어서 붙임
print("%40s"%ss) # 결과 출력. 총 40칸으로 오른쪽 정렬.
break # 무한 반복 빠져 나감
elif ins == "C": # C 일때 초기화
result = 0
lst = []
결과
3
3+
3+2
3+2*
3+2*2
3+2*2/
3+2*2/3
3+2*2/3X
3+2*2/3 = 3.3333333333333335
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 입력 받은 수의 배수가 리스트에 있는지 찾기 (0) | 2022.11.13 |
---|---|
[파이썬] 문제 : 두 수 사이의 합계 출력하는 함수 (0) | 2022.11.13 |
[파이썬] 문제 : 폴더내의 파일 확장자 파일 검색 (0) | 2022.11.13 |
[파이썬] 문제 : 리스트의 원소를 역순으로 출력 (0) | 2022.11.13 |
[파이썬] 문제 : 가위,바위,보 게임 코드 해석 (0) | 2022.11.13 |
댓글