스터디/파이썬 스터디 과제

[2팀 / 김은수] 10차시 파이썬 과제 - 예외처리

lyra8 2023. 6. 7. 18:16

1번

sentence = list("Hello Friend")
	while (len(sentence)+1):
	try:
		print(sentence.pop(0))
	except Exception as e:
		print(e)
		break
H
e
l
l
o
 
F
r
i
e
n
d
pop from empty list

2번

try:
	for i in range(1, 7):
		result = 7 // i
		print(result)
except ZeroDivisionError:
	print("Not divided by 0")
finally:
	print("종료되었습니다.")
7
3
2
1
1
1
종료되었습니다.

3번

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
for day in days:
    with open('week.txt', 'w') as f:
        f.write(day)
print(open('week.txt', 'r').read())
Friday

4번

import random
answer = random.randint(1,10)

def guess_number(answer):
    try:
        guess = int(input("숫자를 넣어 주세요 : "))
        if answer == guess:
            print("정답!")
        else:
            print("틀렸습니다.")
    except ValueError:
        print("숫자가 아닙니다.")

guess_number(answer)
숫자를 넣어 주세요 : 10
틀렸습니다.

5번

a = int(input("1~5 까지 숫자 입력 : "))
# 범위를 벗어나면 error 발생!
if a < 1 or a > 5:
raise ValueError("숫자가 1~5 범위를 벗어납니다.") # 빈칸
# 범위 안에 있으면 정상 출력
print(f"입력한 a : {a} 입니다.")

6번

try:
	x = int(input('나눌 숫자를 입력하세요: '))
	y = 8 / x
	print(y)
except:
	print('예외가 발생했습니다.')

7번

age = int(input("나이 입력 : "))
assert age >= 0, '나이가 마이너스일 수 없다.'
print(f"당신의 나이는 : {age} 입니다")

8번

ValueError: 변환할 수 없는 문자/숫자를 변환할 때 나옴
IndexError: 리스트의 인덱스 범위를 넘어갈 때 나옴
NameError: 존재하지 않은 변수를 호출할 때 나옴