Coding/Python

[python] μ˜ˆμ™Έ 처리

κΉ€μœ λ‹ˆμ½˜ 2021. 11. 4. 18:10

try:
print("λ‚˜λˆ„κΈ° μ „μš© κ³„μ‚°κΈ°μž…λ‹ˆλ‹€/")
nums = []
nums.append(int(input("첫 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš” :")))
nums.append(int(input("두 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš” :")))
nums.append(int(nums[0]/nums[1]))
print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2]))
except ValueError:
print("μ—λŸ¬! 잘λͺ»λœ 값을 μž…λ ₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€.")

except ZeroDivisionError as err:
print(err)

except Exception as err:
print("μ•Œ 수 μ—†λŠ” μ—λŸ¬κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€. ")
print(err)

 

 

 

 

#ν•œ 자리 숫자 μ „μš© λ‚˜λˆ—μ…ˆ 계산기

try:
print("ν•œ 자리 숫자 λ‚˜λˆ„κΈ° μ „μš© κ³„μ‚°κΈ°μž…λ‹ˆλ‹€.")
num1 = int(input("첫 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
num2 = int(input("두 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
if num1 >= 10 or num2 <= 10:
raise ValueError
print("{0} / {1} = {2}".format(num1, num2, int(num1/num2)))

except ValueError:
print("잘λͺ»λœ 값을 μž…λ ₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•œ 자리 숫자만 μž…λ ₯ν•˜μ„Έμš”.")

 

 

 

 

#μ‚¬μš©μž μ •μ˜ μ˜ˆμ™Έμ²˜λ¦¬

class BigNumberError(Exception):
def __init__(self, message):
self.message = message

try:
print("ν•œ 자리 숫자 λ‚˜λˆ„κΈ° μ „μš© κ³„μ‚°κΈ°μž…λ‹ˆλ‹€.")
num1 = int(input("첫 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
num2 = int(input("두 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
if num1 >= 10 or num2 <= 10:
raise BigNumberError("μž…λ ₯κ°’ : {0}, {1}".format(num1, num2))
print("{0} / {1} = {2}".format(num1, num2, int(num1/num2)))
except ValueError:
print("잘λͺ»λœ 값을 μž…λ ₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•œ 자리 숫자만 μž…λ ₯ν•˜μ„Έμš”.")
except BigNumberError as err:
print("μ—λŸ¬κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•œ 자리 숫자만 μž…λ ₯ν•˜μ„Έμš”. ")
print(err)

 

 

 

 

#finally (μ˜ˆμ™Έμ²˜λ¦¬μ™€ 상관없이 무쑰건 μ‹€ν–‰λ˜λŠ” ꡬ문)

class BigNumberError(Exception):
def __init__(self, message):
self.message = message

try:
print("ν•œ 자리 숫자 λ‚˜λˆ„κΈ° μ „μš© κ³„μ‚°κΈ°μž…λ‹ˆλ‹€.")
num1 = int(input("첫 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
num2 = int(input("두 번째 숫자λ₯Ό μž…λ ₯ν•˜μ„Έμš”: "))
if num1 >= 10 or num2 <= 10:
raise BigNumberError("μž…λ ₯κ°’ : {0}, {1}".format(num1, num2))
print("{0} / {1} = {2}".format(num1, num2, int(num1/num2)))
except ValueError:
print("잘λͺ»λœ 값을 μž…λ ₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•œ 자리 숫자만 μž…λ ₯ν•˜μ„Έμš”.")
except BigNumberError as err:
print("μ—λŸ¬κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•œ 자리 숫자만 μž…λ ₯ν•˜μ„Έμš”. ")
print(err)

finally: #였λ₯˜λ‚˜ 정상 μ‹€ν–‰ λͺ¨λ‘ 상관없이 무쑰건 λ‹€ λ‚˜μ˜€λŠ” ꡬ문
print("계산기λ₯Ό μ΄μš©ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.")