1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오
a, b, c = map(int,input().split())
num = {} # 딕셔너리 자료형을 갖는 변수 생성
for i in (a,b,c):
try: num[i] +=1 # 딕셔너리에 해당 key가 있으면(오류가 없으면) 갯수 +1
except: num[i] =1 # 없으면 갯수가 1이라고 저장
for key, value in num.items():
if value == 3:
print(10000+key*1000)
elif value == 2:
print(1000+key*100)
break # print 후에 for문 도는 현상 방지
else:
print(max(a,b,c)*100)
break # print 후에 for문 도는 현상 방지
아니 제대로 돌아가는데 왜 틀렸대 😡😡😡😡😡😡
if문 쓰려고 하다가 너무 길어질거 같아서 찾고찾아서 try except 문을 썼더니 보람이 없다 엉엉엉 이제 내가 아는건 if문 밖에 없다!! 하고 제출을 했는데
a, b, c = map(int, input().split())
if a == b == c:
print(10000+a*1000)
elif a == b or a == c:
print(1000+a*100)
elif b == c:
print(1000+b*100)
else:
print(max(a,b,c)*100)
정답.... 😇 🔥 👊(심지어 코드도 더 짧다)
☑️예외처리 try & except
try:
실행할 코드
except:
예외(에러)가 발생했을 때 처리하는 코드
else:
예외가 발생하지 않았을 때 실행될 코드
finally:
예외 발생 유무와 상관 없이 실행될 코드