# calculator.py
def num_add(num_1, num_2):
# num_1 캐스팅 검증
try:
num_1 = float(num_1)
except:
print("첫 번째 숫자가 올바르게 입력되지 않았습니다.")
return
# num_2 캐스팅 검증
try:
num_2 = float(num_2)
except:
print("두 번째 숫자가 올바르게 입력되지 않았습니다.")
return
sum = int(num_1 + num_2)
print(sum)
# run.py
import calculator as cc
if __name__ == "__main__":
num_1 = input("숫자1을 입력하세요: ")
num_2 = input("숫자2를 입력하세요: ")
cc.num_add(num_1, num_2)
# run.py 실행결과
# 숫자1을 입력하세요: 4
# 숫자2를 입력하세요: a
# 두 번째 숫자가 올바르게 입력되지 않았습니다.
# calc_prime.py
class NotPrimeException(Exception):
def __init__(self, num):
super().__init__(f"추출된 {num}은 소수가 아닙니다.")
class YesPrimeException(Exception):
def __init__(self, num):
super().__init__(f"추출된 {num}은 소수에 해당하여 리스트에 저장합니다.")
def check_prime(num):
flag = False
for i in range(2, num):
if num % i == 0:
flag = True
break
if flag == True:
raise NotPrimeException(num)
else:
raise YesPrimeException(num)
# run.py
import random
import calc_prime as cp
if __name__ == "__main__":
prime_num_list = list()
while True:
if len(prime_num_list) == 10:
print(f"추출된 소수 리스트: {prime_num_list}")
break
else:
num = random.randint(1, 1_000)
if num in prime_num_list:
print(f"추출된 {num}은 이미 리스트에 존재합니다.")
continue
else:
try:
cp.check_prime(num)
except cp.YesPrimeException as e:
print(e)
prime_num_list.append(num)
except cp.NotPrimeException as e:
print(e)
# run.py 실행결과
# 추출된 114은 소수가 아닙니다.
# 추출된 981은 소수가 아닙니다.
# 추출된 619은 소수에 해당하여 리스트에 저장합니다.
# 추출된 859은 소수에 해당하여 리스트에 저장합니다.
# (중략)
# 추출된 815은 소수가 아닙니다.
# 추출된 637은 소수가 아닙니다.
# 추출된 102은 소수가 아닙니다.
# 추출된 941은 소수에 해당하여 리스트에 저장합니다.
# 추출된 소수 리스트: [619, 859, 211, 757, 127, 797, 997, 157, 977, 941]
# member_register.py
class Member():
def __init__(self, name, mail, pw, addr, phone):
self.name = name
self.mail = mail
self.pw = pw
self.addr = addr
self.phone = phone
class NullDataException(Exception):
def __init__(self, var_name):
super().__init__(f"'{var_name}'은(는) 반드시 입력하셔야 합니다.")
class MemberManage():
def __init__(self):
self.db = dict()
def reg_member(self, member):
if member.name == '':
raise NullDataException("이름")
else:
self.db["이름"] = member.name
if member.mail == '':
raise NullDataException("메일")
else:
self.db["메일"] = member.mail
if member.pw == '':
raise NullDataException("비번")
else:
self.db["비번"] = member.pw
if member.addr == '':
raise NullDataException("주소")
else:
self.db["주소"] = member.addr
if member.phone == '':
raise NullDataException("연락처")
else:
self.db["연락처"] = member.phone
print("회원가입 완료")
# run.py
import member_register as mr
if __name__ == "__main__":
name = input("이름: ")
mail = input("메일: ")
pw = input("비번: ")
addr = input("주소: ")
phone = input("연락처: ")
member = mr.Member(name, mail, pw, addr, phone)
try:
member_register = mr.MemberManage().reg_member(member)
except mr.NullDataException as e:
print(e)
# run.py 실행결과
# 이름: Jane Doe
# 메일: jdoe@gmail.com
# 비번: jdoe12345
# 주소:
# 연락처: 008-1122-2232
# '주소'은(는) 반드시 입력하셔야 합니다.
*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.