gpt4 book ai didi

python 2.7 : Why does IPython Notebook throw an error for non-ascii character?

转载 作者:行者123 更新时间:2023-12-01 05:18:49 24 4
gpt4 key购买 nike

我正在 OS X 上开发 IPython 笔记本。我的源代码完全由 ascii 字符组成。但编译器向我报告我正在使用非 ASCII 字符。源代码如下:

%%file Sierpinski_triangle.py

from turtle import *

reset()
tracer(False)

s = 'A+B+A−B−A−B−A+B+A'

l_angle = 60
r_angle = 60
for c in s:
if c == 'A' or c == 'B':
forward(10)
elif c == '+':
left(l_angle)
#l_angle = l_angle * -1
elif c == '-':
right(r_angle)
#r_angle = r_angle * -1
done()
<小时/>
File "Sierpinski_triangle.py", line 7
SyntaxError: Non-ASCII character '\xe2' in file Sierpinski_triangle.py on line 7, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

提前谢谢您!

最佳答案

你的缺点是错误的。

尝试:

s = 'A+B+A-B-A-B-A+B+A'

[更新]不知何故,SO 使用了一种使缺点看起来相同的字体。他们不是。尝试在文本编辑器中复制我的版本和您的版本并查看差异。

当我运行你的代码时,我得到了与你相同的错误。当我用 asci minus 替换代码中的 minus 时,代码运行良好。

您使用什么文本编辑器来创建此 Python 代码?它有某种自动完成功能吗? (ms word?)如果是这样,请使用真正的文本编辑器或闲置以避免这些问题。

为了证明它们是不同的,请尝试将字符串打印为十六进制(复制粘贴到新的 .py 文件中):

# -*- coding: utf-8 -*-

your_s = 'A+B+A−B−A−B−A+B+A'
my_s = 'A+B+A-B-A-B-A+B+A'
print(":".join("{:02x}".format(ord(c)) for c in your_s))
print(":".join("{:02x}".format(ord(c)) for c in my_s))

给你:

>>41:2b:42:2b:41:e2:88:92:42:e2:88:92:41:e2:88:92:42:e2:88:92:41:2b:42:2b:41
>>41:2b:42:2b:41:2d:42:2d:41:2d:42:2d:41:2b:42:2b:41

关于 python 2.7 : Why does IPython Notebook throw an error for non-ascii character?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com