20줄짜리 매우 간단한 국가 - 수도 찾는 프로그램 딕셔너리 애러입니다.

//여기에 코드를 입력하세요
#도시이름을 치면 도시와 국가이름을 반환하는 함수
def city_country():
    city = input("도시 이름을 입력해주세요 : ")
    city_country = {"서울" : "한국", "아테네" : "그리스", "파리" : "프랑스", "워싱턴" : "미국", "런던" : "영국", "코펜하겐":"덴마크",
    "베를린":"독일", "모스크바":"러시아","룩셈부르크":"룩셈부르크", "멕시코시티":"멕시코","모나코":"모나코","다카":"방글라데시","하노이":"베트남",
    "브뤼셀":"벨기에","브라질리아":"브라질","리야드":"사우디아라비아","모가디슈":"소말리아","스톡홀롬":"스웨덴","베른":"스위스","마드리드":"스페인",
    "다마스쿠스":"시리아","싱가포르":"싱가포르","두바이":"아랍에미리트","부에노스아이레스":"아르헨티나","더블린":"아일랜드","카불":"아프가니스탄",
    "알제":"알제리","캔버라":"오스트레일리아","비엔나":"오스트리아","암만":"요르단","타슈켄트":"우즈베키스탄","키예프":"우크라이나","바그다드":"이라크",
    "테헤란":"이란","예루살렘":"이스라엘","카이로":"이집트","로마":"이탈리아","뭄바이":"인도","자카르타":"인도네시아","도쿄":"일본"}

    if(city in city_country.keys()):
        print ("\""+city + "\""+"의 국가는 " + "\""+ city_country[city] +"\""+  "입니다.")
    elif(city in city_country.values()):
        print ("당신은 수도가 아니라 국가를 입력하셨네요.")
        print ("\""+city_country[city] + "\""+"의 수도는 " + "\""+ city +"\""+  "입니다.")
    else:
        print ("죄송합니다. 그 수도는 우리의 데이터 베이스에 없습니다.")

flag = 1
while(flag==1):
        city_country()

이미지

딕셔너리에 없는 key값을 참조하면 애러가 난다고 알고있는데 이 프로그램은 그것도 아닌데 왜 애러가 날까요. 심지어 if문으로 분류까지 해뒀는데.

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.