我一直在为我的学生准备一个简单的Python脚本示例,我发现很难解决以下问题。
我使用utf8
编码,因为我希望它们使用波兰字符,例如。
Ł, ą, ś. 现在,脚本应该从用户那里取名字并打印出来
用*做成的长方形。所以我想给他们看的是:
imie=raw_input('Podaj swoje imię: ') #Give your name
dl=len(imie)
print '*'*(dl + 4)
print '*' + ' '*(dl + 2) + '*'
print '* ' + imie + ' *'
print '*' + ' '*(dl + 2) + '*'
print '*'*(dl + 4)
问题是,对于像Antoś Mąka
这样的名称,dl
变量的值应该是11,但是它是13,因为ś和ą符号被计算成两个。
是否可以强制len()
函数将其计算为1?在
在Python 2中。*使用
decode
:您正在使用
str
,而您应该使用unicode
将数据从utf8解码为unicode对象。然后得到unicode的长度。在
相关问题 更多 >
编程相关推荐