为什么我的程序被评论干扰了



我们在学校的任务是在代码底部添加一个程序的测试示例:

#example
"""
<insert example of you running the code>
"""

但当我这样做的时候,我会出错。我从来没有在任何其他代码上得到过它,只有在这个代码上?:

C:UsersDavid>C:UsersDavidDesktopIN1900uke38qerror.py 1
File "C:UsersDavidDesktopIN1900uke38qerror.py", line 22
"""
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 24-25: truncated UXXXXXXXX escape
C:UsersDavid>

我的代码如下:

from math import sqrt
import sys
a=float(sys.argv[1])
b=float(sys.argv[2])
c=float(sys.argv[3])
d=(b**2)-(4*a*c)
x1=((-b+sqrt(d))/(2*a))
x2=((-b-sqrt(d))/(2*a))
print(f'The quadratic formula with used values gives two roots {x1:.1f} and {x2:.1f}')
#example
"""
#Fra command prompt:
#C:UsersDavid>C:UsersDavidDesktopIN1900uke38quadratic_roots_cml.py 1 0 -1
#The quadratic formula with used values gives two roots 1.0 and -1.0
#(koden funker ikke på et eller annet magisk vis når jeg bruker
"""

字符串文字的一部分被解释为转义的unicode字符。这样的转义序列从CCD_ 1开始。最简单的解决方法是在双引号的开头三元组前面放一个r。这可以防止对文本进行任何类型的转义处理:

r"""
#Fra command prompt:
#C:UsersDavid>C:UsersDavidDesktopIN1900uke38quadratic_roots_cml.py 1 0 -1
#The quadratic formula with used values gives two roots 1.0 and -1.0
#(koden funker ikke på et eller annet magisk vis når jeg bruker
"""

这比添加一堆额外的斜杠容易得多,而且也不会改变文本的可读性。

以下是Python3文档对";原始字符串":

字符串和字节文字都可以选择以字母'r'或'r';这种字符串被称为原始字符串和处理反斜杠作为文字字符。结果在字符串文字中,原始字符串中的'\U'和'\U'转义没有经过特殊处理。鉴于Python 2.x的原始unicode文本的行为与Python不同3.x的'ur'语法不受支持。

在带有路径的行上使用双黑斜线,如下所示:

"""
"""
#Fra command prompt:
#C:\Users\David>C:\Users\David\Desktop\IN1900\uke38\quadratic_roots_cml.py 1 0 -1
#The quadratic formula with used values gives two roots 1.0 and -1.0
#(koden funker ikke på et eller annet magisk vis når jeg bruker
"""
"""

Usersuke38中的Uu被解释为Unicode转义。将反斜杠加倍。

#C:\UsersDavid>C:\UsersDavidDesktopIN1900\uke38quadratic_roots_cml.py 1 0 -1

或者,请注意,在以#开头的行中有注释。因此,不需要三重引号。

...
print(f'The quadratic formula with used values gives two roots {x1:.1f} and {x2:.1f}')
#example
#Fra command prompt:
#C:UsersDavid>C:UsersDavidDesktopIN1900uke38quadratic_roots_cml.py 1 0 -1
#The quadratic formula with used values gives two roots 1.0 and -1.0
#(koden funker ikke på et eller annet magisk vis når jeg bruker

相关内容

  • 没有找到相关文章

最新更新