해당 포스트에서는 Python에서 사용자가 원하는 개수의 숫자들을 입력받아 총합을 계산해 주는 방법을 설명합니다.
1. 배경
네이버 지식인 활동을 하면서 아래와 같은 1:1 질문을 받게되었고 답변을 좀 더 자세히 남기기 위해 포스팅을 작성하게 되었습니다.
2. 질문
파이썬 코딩과제 때문에 질문드립니다. 도와주세요 ㅠ 문제. 사용자가 입력한 숫자들을 더하는 프로그램을 작성하시오.
|
3. 풀이
질문에 포함된 조건들을 반영하여 아래와 같은 구조로 코딩하였습니다.
구조 설계
- 사용자의 응답을 저장하는
Answer
변수를 생성하고 초기값을'yes'
로 할당 - 전체합을 계산하여 저장할
total
변수를 생성하고 초기값을0
으로 할당 - 사용자에게 입력을 받고 덧셈 계산을 위해 숫자형으로 변환하여
num
변수에 저장 - 사용자 반복 입력 여부를 확인하는 while문 생성
yes
일 경우, 숫자를 입력받아total
변수와 합산no
일 경우, 입력을 중단하고total
변수의 총합을 계산yes
나no
외의 입력, 에러 메시지와 함께 재입력 요청
소스 코드
if __name__ == "__main__":
Answer = 'yes'
total = 0
while Answer:
num = int(input("\n숫자를 입력하세요 : "))
total = total + num
Answer = str(input("- 계속? (yes/no) : "))
while (Answer not in ['yes', 'no']):
print("[Error] 'yes' or 'no' 로 입력해 주세요")
Answer = str(input("- 계속? (yes/no) : "))
if Answer == 'no':
break
print("\n총합 : ", total)
결과 확인
위 코드 실행 후 초기 입력으로 3
을 입력하였고, 계속 여부에 yes
및 추가 3
입력이 정상 적용되는 것을 확인하였습니다.
이후 계속 여부를 묻는 단계에서 아무것도 입력하지 않았고, 정상적인 에러메시지가 출력되는 것을 확인하였습니다.
마지막으로 no
를 입력하여 계산이 정상적으로 종료되는 것을 확인하였습니다.
숫자를 입력하세요 : 3 - 계속? (yes/no) : yes 숫자를 입력하세요 : 3 - 계속? (yes/no) : [Error] 'yes' or 'no' 로 입력해 주세요 - 계속? (yes/no) : no 총합 : 6
4. 마무리
이번 포스트에서는 사용자가 입력하는 모든 숫자들을 입력받아 합산 결과를 출력하는 예제를 소개드렸습니다. 덧셈 외의 계산이 가능한 계산기를 만들어 보시는것도 프로그래밍 공부에 도움이 될 것 같습니다.