字典破坏了密钥的名称[Python] [英] Dictionary corrupt the name of the key [Python]

查看:143
本文介绍了字典破坏了密钥的名称[Python]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的问题是,当我用口音输入时,字典存储不同的键名,它用一个字符代码替换重音字符。
我是新来的,我接受每一个帮助。
谢谢您的帮助!

 #!/ usr / bin / python 
# - * - 编码:utf-8 - * -

products = {}
try:
prodNum = int(raw_input(uHányterméketkívánfelvenni alistába?\r\ n))
count = 0

while(count< prodNum):
prodName = raw_input(uKéremüssebe a%d。terméknevét!\r \\\
%(count + 1))
encodedName = prodName.decode('utf8')
print(encodedName)
prodVal = int(raw_input(uKéremüssebe a% d。termékdarabszámát!\r\\\
%(count + 1)))

products [encodedName] = prodVal
count = count + 1
除了ValueError:
print(uIde egyszámotkellett volnaírni。:)\r\\\


print(products)

输出:
Hányterméketkívánfelvenni alistába?
1
Kéremüssebe a 1.terméknevét!
QpaKóla
QpaKóla
Kéremüssebe a 1.termékdarabszámát!
2
{u'Qpa K\xf3la':2}


解决方案

打印容器打印内容的表示。没有错误,只是放错了预期。

 >>>打印u'Qpa K\xf3la'
QpaKóla
>>> print repr(u'Qpa K\xf3la')
u'Qpa K\xf3la'


My problem is that when I get input with accent then the dictionary stores different keyname, it replace the accented character wit a character code. I'm new here I accept every help. Thank you for your help!

#!/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}

解决方案

Printing a container prints the representation of the contents. There is no bug, merely misplaced expectations.

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

这篇关于字典破坏了密钥的名称[Python]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆