use*_*752 5 python unicode input python-2.x
我在Codecademy的Python课程上尝试了以下内容
hobbies = []
# Add your code below!
for i in range(3):
Hobby = str(raw_input("Enter a hobby:"))
hobbies.append(Hobby)
print hobbies
Run Code Online (Sandbox Code Playgroud)
有了它,它工作正常,但如果相反,我尝试
Hobby = raw_input("Enter a hobby:")
Run Code Online (Sandbox Code Playgroud)
我得到[u'Hobby1', u'Hobby2', u'Hobby3'].额外u的来自哪里?
问题的主题可能有点误导:Python 2 raw_input()通常返回一个字节字符串,而不是Unicode字符串.
但是,如果它已被更改或替换(由应用程序或作为Python的替代实现的一部分),它可以返回Unicode字符串sys.stdin.
因此,我相信@ByteCommander的评论是正确的:
也许这与它运行的控制台有关?
Codecademy使用的Python表面上是2.7,但是(a)它是通过使用Emscripten将Python解释器编译为JavaScript 并且(b)它在浏览器中运行来实现的.因此,在这些因素之间,Codecademy注入的一些字符串编码和解码很可能在普通CPython中不存在.
注意:我自己没有使用过Codecademy,也没有内部工作的内部知识.
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |