【发布时间】:2018-11-21 12:19:17
【问题描述】:
我正在 python 中制作一个简单的罗马数字转换器并使用它:
num_values = [(1000000, 'M'+ u'\u0304'),
(900000, 'CM'+ u'\u0304'),
(100000, 'C'+ u'\u0304'),
(90000, 'XC'+ u'\u0304'),
(50000, 'L'+ u'\u0304'),
(40000, 'XL'+ u'\u0304'),
(10000, 'X'+ u'\u0304'),
(5000, 'V'+ u'\u0304'),
(1000, 'M'),
(900, 'CM'),
(500, 'D'),
(400, 'CD'),
(100, 'C'),
(90, 'XC'),
(50, 'L'),
(40, 'XL'),
(10, 'X'),
(9, 'IX'),
(5, 'V'),
(4, 'IV'),
(1, 'I')]
表示我的函数迭代的值。但是,unicode 似乎只影响字符串中的第一个字符。 (例如,'CM'+ u'\u0304' 看起来像 CM̄ 而不是 C̄M̄。)
有没有办法在将所有内容保存在一个索引中的同时更正此问题?
【问题讨论】:
-
你拒绝使用
u'C\u0304M\0304'有什么原因吗? -
@IgnacioVazquez-Abrams 我之前尝试过,但我会得到 C̄M4。不知道怎么回事
-
你确定它看起来像
C̄M吗?我会期待CM̄ -
@MartinBonner 哦,对不起,你是对的,我会编辑我的帖子。
标签: python python-3.x unicode utf