【发布时间】:2017-02-22 13:36:53
【问题描述】:
我刚开始学习 python,并且正在为字典做练习,但是由于我必须使用的示例代码是西里尔文,所以我遇到了一些编码问题。我有以下代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
temperatures = {
'София': -14,
'Новосибирск': -31
}
print("-" * 20)
print(temperatures)
print("-" * 20)
key = 'Бургас'
if key in temperatures:
print(temperatures[key])
else:
print("No data for {}".format(key))
在添加 # -*- coding: utf-8 -*- 行之前,我遇到了 SyntaxError: Non-ASCII character '\xd0'。然而,现在错误消失了,但西里尔语单词的输出不正确。这是输出:
--------------------
{'\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba': -31, '\xd0\xa1\xd0\xbe\xd1\x84\xd0\xb8\xd1\x8f': -14}
--------------------
No data for Бургас
所以,从 python dict 中打印出来的西里尔文单词被搞砸了,但 Бургас 行看起来是正确的。我尝试使用print(format(temperatures)),但输出是一样的。如果打印出一个西里尔字母,不应该全部打印出来吗?
【问题讨论】: