2014-10-04 1 views
0

제 문제는 악센트가있는 입력을 받았을 때 사전이 다른 키 이름을 저장하면 악센트 부호가있는 문자를 문자 코드로 대체한다는 것입니다. 나는 여기에서 새로운 모든 도움을 받아 들인다. 도움을 주셔서 감사합니다.Dictionary가 키의 이름을 손상 시켰습니다. [파이썬]

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

products={} 
try: 
    prodNum = int(raw_input(u"Hány terméket kíván felvenni a listába?\r\n")) 
    count = 0 

    while (count < prodNum): 
     prodName   = raw_input(u"Kérem üsse be a %d. termék nevét!\r\n" %(count + 1)) 
     encodedName = prodName.decode('utf8') 
     print(encodedName) 
     prodVal    = int(raw_input(u"Kérem üsse be a %d. termék darabszámát!\r\n" %(count + 1))) 

     products[encodedName] = prodVal 
     count    = count + 1 
except ValueError: 
    print (u"Ide egy számot kellett volna írni. :)\r\n") 

print(products) 

Output: 
Hány terméket kíván felvenni a listába? 
1 
Kérem üsse be a 1. termék nevét! 
Qpa Kóla 
Qpa Kóla 
Kérem üsse be a 1. termék darabszámát! 
2 
{u'Qpa K\xf3la': 2} 

답변

2

용기가 인쇄 표현 내용 인쇄. 아무런 버그가 없으며 단지 잘못된 기대입니다.

>>> print u'Qpa K\xf3la' 
Qpa Kóla 
>>> print repr(u'Qpa K\xf3la') 
u'Qpa K\xf3la' 
+0

감사합니다. 사전의 내용을 악센트 부호가있는 형식으로 인쇄하려면 어떻게해야합니까? –

+0

해결책을 찾았습니다 : products.iterkeys()의 핵심 : print 키 –

관련 문제