gpt4 book ai didi

python - 为什么我的数组比较算法给我错误的输出?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:10 26 4
gpt4 key购买 nike

所以我正在尝试完成 Hackerrank.com 挑战“Compare The Triplets”,但我得到了意想不到的输出:

Input (stdin)
5 6 7
3 6 10
Your Output (stdout)
0 1
Expected Output
1 1

所以我已经有了代码来解决挑战要求我做的事情,比较一个包含三个元素的数组,但我认为将一个包含 n 个元素的数组进行比较的代码会更有用。我写了一些代码来尝试让它工作,但输出不是它应该的。目标是比较两个单独数组中元素的值。这是我的代码:

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the compareTriplets function below.
def compareTriplets(a, b):
loopLen = 0
if len(a) > len(b):
loopLen = len(a)
elif len(a) == len(b):
loopLen = len(a)
elif len(a) < len(b):
loopLen = len(b)
for i in range(0, loopLen):
bob = 0
alice = 0
if a[i] > b[i]:
bob += 1
elif a[i] == b[i]:
bob += 0
alice += 0
elif a[i] < b[i]:
alice += 1
i += 1

return bob, alice

if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')

a = list(map(int, input().rstrip().split()))

b = list(map(int, input().rstrip().split()))

result = compareTriplets(a, b)

fptr.write(' '.join(map(str, result)))
fptr.write('\n')

fptr.close()

编辑:问题在评论中回答

最佳答案

您可以压缩列表并从那里进行评估,这现在适用于任何大小的列表

alice = [5, 6, 7]
bob = [3, 6, 10]

score = [0,0]

l = list(zip(alice, bob))

for i in l:
if i[0] > i[1]:
score[0] += 1
elif i[1] > i[0]:
score[1] += 1
else:
pass

print(score)
[1, 1]

关于python - 为什么我的数组比较算法给我错误的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52488269/

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