我有以下code,并且我想知道应该如何修改它才能正确打印。
让我解释一下链接图片中的代码是什么。
首先,q1和q2是观察者的x,y坐标,数字代表花花公子的数量。在这种情况下,q1 = 2,q2 = 1,数字= 4
接下来,如果number = 4,则我们输入4个花花公子的坐标并将其存储在列表中。在这种情况下,存储4个坐标的列表为[[15,15],[14,-2],[1,3],[0,4]]。
然后,我们为列表的每个x坐标减去q1并取绝对值。所以我们有[13,12,1,2]。然后,我们为列表的每个y坐标减去q2并取绝对值。所以我们有[14,3,2,3]。
然后,我们将2个列表中的元素加在一起[13,12,1,2]和[14,3,2,3]。所以我们有一个[27,15,3,5]列表。
如果列表[27、15、3、5]的第i个元素> 10,则输出“ Dude i too too far”。在这种情况下,27> 10和15> 10,因此它将输出“ Dude 1距离太远”和“ Dude 2距离太远”。
但是我希望我的代码输出“ Dude 1和Dude 2距离太远”,我应该如何修改它?
import operator
q1=int(input())
q2=int(input())
number=int(input())
alist=[]
for i in range (number):
blist=[]
for j in range (1):
blist.append(int(input()))
blist.append(int(input()))
alist.append(blist)
print(alist)
print(alist[0][0])
print(alist[0][1])
xlist=[]
for i in range (0,len(alist)):
xlist.append(abs(alist[i][0]-q1))
print(xlist)
ylist=[]
for i in range (0,len(alist)):
ylist.append(abs(alist[i][1]-q2))
print(ylist)
zlist=list(map(operator.add,xlist,ylist))
print(zlist)
for i in range (0,len(zlist)):
if zlist[i]>10:
print("Dude",i+1,"too far away")