CHAPTER 10. 파이썬 구조화로 안정성과 유지보수 용이성 높이기
python Code
# 예외 처리를 통한 안정성 강화
try:
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
result = num1 / num2
print(f"{num1} 나누기 {num2}는 {result}입니다.")
except ValueError:
print("숫자를 입력해 주세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except Exception as e:
print("에러가 발생했습니다:", str(e))
python Code
# 프로젝트 구조화
import smtplib
from email.mime.text import MIMEText
def send_email(subject, body, to_email):
from_email = "your_email@gmail.com"
try:
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = from_email
msg["To"] = to_email
with smtplib.SMTP("smtp.gmail.com", 587) as server:
server.starttls()
server.login(from_email, "your_password")
server.sendmail(from_email, [to_email], msg.as_string())
print("이메일이 성공적으로 전송되었습니다!")
except smtplib.SMTPException as e:
print("에러가 발생하여 이메일을 보낼 수 없습니다.")
print("에러 메시지:", str(e))
def get_user_input():
subject = input("이메일 제목: ")
body = input("이메일 내용: ")
to_email = input("수신 이메일 주소: ")
return subject, body, to_email
def main():
subject, body, to_email = get_user_input()
send_email(subject, body, to_email)
if __name__ == "__main__":
main()