jus981014   3년 전

enter = [input() for _ in range(3)]
A = {'black':[0,1],'brown':[1,10],'red':[2,100],'orange':[3,1000],
'yellow':[4,10000],'green':[5,100000],'blue':[6,1000000],'violet':[7,10000000]
,'grey':[8,100000000],'white':[9,1000000000]}
num1 = 0
num2 = 0
num3 = 0
for key,value in A.items():
    if str(enter[0]) == key:
        num1 = value[0]
    elif str(enter[1]) == key:
        num2 = value[0]
    elif str(enter[2]) == key:
        num3 = value[1]

answer = (num1+num2)*num3

이렇게 하면 num값들에 밸류 값들이 저장될 거라고 생각하고 코드를 작성했는데 돌아가지 않네요..

dbshin59   3년 전

1. answer문 프린트를 하지 않았습니다

2. num1, num2, num3의 값이 서로 같을 수도 있습니다

3. 딕셔너리는 dictionary[key]로 바로 접근할 수 있습니다. ex) A['red'] 이 때, key가 string이기만 하면 변수여도 상관 없습니다.

4. 저항의 연산은 num1+num2가 아니라 num1*10 + num2입니다...

mugglim   3년 전

dict 자료형을 읽고 저장하는 방법에 대해 확인 후 다시 문제를 풀어보시길 바랍니다!

http://pythonstudy.xyz/python/...

댓글을 작성하려면 로그인해야 합니다.