728x90
반응형
(문제)
두 수를 입력받고 계산하는 코드.
예를 들어 2,6 입력 받으면 2-3+4-5+6 계산
8,4 입력받으면 8-7+6-5+4 계산하는 코드 좀 짜주세요
기초적인 코드로 만들기.
(방법)
s_in = input('두 수 입력 : ') # , 로 분리된 두 정수 입력 받기
lst = s_in.split(',') # , 로 분리해서 리스트 변수에 받기
no1 = int(lst[0]) # 문자열로 된 값을 정수로 변환해서 변수에 저장
no2 = int(lst[1])
op = '-' # -.+ 와 같은 반복에 대한 변수
result = no1 # 최초 no1을 result에 반영. (2-3+4-5+6에서 2와 같음)
rslt_str = str(no1) # 만들어진 공식을 보여주기 위한 변수
if no1 < no2: # no1 이 no2 보타 큰 경우
for i in range(no1+1, no2+1): # no1은 계산에 반영되어 있으니 no1+1부터 시작. range는 end-1까지 하기 때문에 no2+1로 함.
if op == '-': # op가 - 면
result -= i # 계산
rslt_str += ' - ' + str(i) # 계산 공식은 계속 추가
op = '+' # op 연산자를 변경. -면 +로.
else:
result += i
rslt_str += ' + ' + str(i)
op = '-' # op 연산자를 변경. +면 -로.
elif no1 > no2: # no1 이 no2 보타 큰 경우
for i in range(no1-1, no2-1, -1): # 큰수에서 작은수로 하기때문에 step를 -1로 함. 큰수로 시작하기 때문에 no1-1로 시작.
if op == '-':
result -= i
rslt_str += ' - ' + str(i)
op = '+'
else:
result += i
rslt_str += ' + ' + str(i)
op = '-'
print('식 : ', rslt_str)
print('답 = ',result)


728x90
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 문제 : 타자게임의 맞은개수, 정답률 출력 (0) | 2023.01.09 |
|---|---|
| [파이썬] 문제 : 5개의 코딩시험 점수 합계와 평균 함수 (0) | 2023.01.09 |
| [파이썬] 문제 : 단어 빈도 카운터 (0) | 2023.01.07 |
| [파이썬] 문제 : 3개 숫자 더하기 코드 빈칸 체우기 (0) | 2023.01.07 |
| [파이썬] 문제 : 평균 함수의 에러 찾기 (0) | 2023.01.07 |
댓글