Python 为什么长度减法返回错误?
对于下面的Python 为什么长度减法返回错误?,python,subtraction,string-length,Python,Subtraction,String Length,对于下面的len(x)-len(y),我似乎收到一个错误,说减号(-)是“标识符中的无效字符”-知道为什么吗 def mxdiflg(a1, a2): for x in a1: print(len(x)) for y in a2: print(len(y)) return (max(abs(len(x) − len(y)))) print(mxdiflg(s1,s2)) 您使用的是m-dash而不是减号连字符。将线路更换为 re
len(x)-len(y)
,我似乎收到一个错误,说减号(-)是“标识符中的无效字符”-知道为什么吗
def mxdiflg(a1, a2):
for x in a1:
print(len(x))
for y in a2:
print(len(y))
return (max(abs(len(x) − len(y))))
print(mxdiflg(s1,s2))
您使用的是m-dash而不是减号连字符。将线路更换为
return(最大值(abs(len(x)-len(y)))
Python和大多数编程语言都使用“-”进行减法运算。它可以在大多数键盘上的“0”键右侧找到 “–”是一个比连字符长的符号,但在代码中看起来几乎与连字符相同,因为它通常用于显示代码 也有“符号”−", 但在Python中,它不是一个有效的运算符。它通常用于在用户界面中很好地显示负数,但在代码中不显示负数 (如守则所示): (正式文本): “-”连字符
“–”em破折号
"−“减去
我想,你所有的代码都需要修改 在<代码>最大值(abs)(透镜(x)− len(y))x携带列表a1中的最后一项 同样,a2中y的循环
中的“y:
将仅携带列表a2的第一项,然后返回(最大值(abs)(len(x))− len(y))
重新评价您的第一条评论
检查以下行
a1=['a','b','c']
for x in a1:
print(len(x))
print(x)
结果
1
1
1
c
因此x
的最终值是c
,因此x携带列表a1中的最后一项
我希望您现在就收到,欢迎。请提供一个。什么是
s1
?什么是s2
?如果您收到错误,请发布完整的错误消息,包括堆栈跟踪。−
是一个无效的长破折号。您需要-
。此外,请小心使用此算法。如果a1
为空,x
将永远不会被设置,并且len(x)
将导致错误。您好,如果这是无知的话,很抱歉,但是您的代码和我的代码看起来是一样的?m-dash是什么意思?如果键盘右侧的“0”旁边的键是负号?谢谢!@PatrickChong我已经更新了答案并澄清了差异,对吗?因为当我运行以下代码时。对于a1中的x:print(Len(x))它确实给了我a1中所有字符串的长度?那么你说的“x代表列表a1中的最后一项”是什么意思?我理解并同意你关于y和最大(…)行的第二点,我已经对其进行了修改。因此,谢谢:)正如你现在同意的那样,请投票支持我的答案。
1
1
1
c