gpt4 book ai didi

python-3.x - 我收到语法错误,并显示一个错误消息,指出变量注释的非法目标。我如何解决它?

转载 作者:行者123 更新时间:2023-12-03 08:01:56 30 4
gpt4 key购买 nike

在这里,我试图比较两个列表中的项目,并根据谁在给定的索引中具有更高的否来给出分数。但是我总是在第一个elif中显示语法错误,并指出变量注释的非法目标。

def comparetriplets(a, b):      

p = 0
q = 0
x = 0
while x < 3:
if a[x] > b[x]:
p = 1
q = 0
x += 1
elif b[x] > a[x]:
p = p+0
q = q+1
x += 1
elif a[x] == b[x]:
p = p+0
q = q+0
x += 1
return [p, q]
elif b[x] > a[x]:SyntaxError:语法无效

最佳答案

您是说要在x += 1if block中编写elif block语句,如下所示:

def comparetriplets(a, b):
p = 0
q = 0
x = 0
while x < 3:
if a[x] > b[x]:
print('Begining of if :' , x)
p = 1
q = 0
x += 1
print('End of if :', x)
elif b[x] > a[x]:
print('Begining of elif-1 :' , x)
p = p+0
q = q+1
x += 1
print('End of elif-1 : ', x)
elif a[x] == b[x]:
print('Begining of elif-2 : ' , x)
p = p+0
q = q+0
x += 1
print('End of elif-2 : ', x)
return [p, q]

如果它可以澄清您的疑问或解决语法错误,请告诉我。

调用函数 comparetriplets:
import numpy
import random
a = random.sample(range(1,51),4) # Generate a list of four random numbers
b = random.sample(range(1,51),4)

print(a)
print(b)
p,q = comparetriplets(a, b)
Output:
a : [32, 3, 27, 21]
b : [20, 8, 35, 37]
Begining of if : 0
End of if : 1
Begining of elif-1 : 1
End of elif-1 : 2
Begining of elif-1 : 2
End of elif-1 : 3

关于python-3.x - 我收到语法错误,并显示一个错误消息,指出变量注释的非法目标。我如何解决它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56967861/

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