728x90
반응형
SMALL
파이썬이 매우 하고 싶어 아침부터 눈이 빠르게 떠졌다.
아침부터 Chat-GPT와 공부를 시작하는 나란 사람.
기본 계산기부터 가볍게 복습하고 출근합니다.
출근 후 도전해 볼 것이 아니라 퇴근 후 도전해봐야 하는데.
퇴근하고 다른 거 먼저 도전해 봤지만 아무튼 마저 수행해 봅니다.
1. 반복 계산
한 번 계산 후 다시 계산할지 물어보기
while True:
num1 = float(input("첫 번째 숫자를 입력하세요 : "))
operator = input("연산자를 입력하세요 (+, -, *, /) : ")
num2 = float(input("두 번째 숫자를 입력하세요 : "))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0:
result = num1 / num2
else:
result = "0으로 나눌 수 없습니다."
else:
result = "잘못된 연산자입니다."
print(f"결과 : {result}")
again = input("다시 계산하시겠습니까? (y/n) : ")
if again.lower() != "y":
print("프로그램을 종료합니다.")
break
2. 더 복잡한 계산 추가
while True:
num1 = float(input("첫 번째 숫자를 입력하세요 : "))
operator = input("연산자를 입력하세요 (+, -, *, /, **, %, //) : ")
num2 = float(input("두 번째 숫자를 입력하세요 : "))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0:
result = num1 / num2
else:
result = "0으로 나눌 수 없습니다."
elif operator == "**":
result = num1 ** num2
elif operator == "%":
result = num1 % num2
elif operator == "//":
if num2 != 0:
result = num1 // num2
else:
result = "0으로 나눌 수 없습니다."
else:
result = "잘못된 연산자입니다."
print(f"결과 : {result}")
again = input("다시 계산하시겠습니까? (y/n) : ")
if again.lower() != "y":
print("프로그램을 종료합니다.")
break
3. 잘못된 입력 처리
while True:
try:
num1 = float(input("첫 번째 숫자를 입력하세요 : "))
operator = input("연산자를 입력하세요 (+, -, *, /, **, %, //) : ")
num2 = float(input("두 번째 숫자를 입력하세요 : "))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0:
result = num1 / num2
else:
result = "0으로 나눌 수 없습니다."
elif operator == "**":
result = num1 ** num2
elif operator == "%":
result = num1 % num2
elif operator == "//":
if num2 != 0:
result = num1 // num2
else:
result = "0으로 나눌 수 없습니다."
else:
result = "잘못된 연산자입니다."
print(f"결과 : {result}")
except ValueError:
print("잘못된 숫자를 입력하셨습니다. 숫자만 입력해주세요!")
again = input("다시 계산하시겠습니까? (y/n) : ")
if again.lower() != "y":
print("프로그램을 종료합니다.")
break
의문점이 생긴 사람.
4. 개선된 반복 프로그램
while True:
try:
num1 = float(input("첫 번째 숫자를 입력하세요 : "))
operator = input("연산자를 입력하세요 (+, -, *, /, **, %, //) : ")
num2 = float(input("두 번째 숫자를 입력하세요 : "))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0:
result = num1 / num2
else:
result = "0으로 나눌 수 없습니다."
elif operator == "**":
result = num1 ** num2
elif operator == "%":
result = num1 % num2
elif operator == "//":
if num2 != 0:
result = num1 // num2
else:
result = "0으로 나눌 수 없습니다."
else:
result = "잘못된 연산자입니다."
print(f"결과 : {result}")
except ValueError:
print("잘못된 숫자를 입력하셨습니다. 숫자만 입력해주세요!")
while True:
again = input("다시 계산하시겠습니까? (y/n) : ").lower()
if again == "y":
break
elif again == "n":
print("프로그램을 종료합니다.")
exit()
else:
print("잘못된 입력입니다. y 또는 n을 입력해주세요.")
그렇다. 계산기 기능 발전은 아니지만, 엉뚱한 곳에서 버그를 찾았다.
이제 내일부터는 어떤 것을 알려줄지 기대가 된다.
근데 내일은 바빠서 공부할 시간이 있을지 모르겠네.
728x90
반응형
LIST
'Python' 카테고리의 다른 글
[Python 프로젝트] 맛집 리뷰 자동화 만들기 #1 함수 맛보기 (2) | 2024.12.10 |
---|---|
[Python] NameError : name 'Tk' is Not Defined 해결 방법 (0) | 2024.12.10 |
[Python] 티스토리 블로그 포스팅 개수 자동으로 세기 (feat. 크롤링) (1) | 2024.12.09 |
[파이썬 기초] 리스트와 튜플 완벽 가이드 초보자를 위한 핵심 정리 (2) | 2024.12.09 |
[파이썬 기초] 숫자 맞추기 게임 만들기 (0) | 2024.12.08 |