如何使用列表中的数字作为比较基准
How to use a number in a list as a bench mark for comparison
我已经写了一些代码,但想让它更简单。
我如何才能从我的列表中提取所需的整数,而无需所有额外的代码行将其转换为整数,以便我可以在我的 if 语句中使用它?
def nextRound(k,scores):
count = 0
integers = scores[k-1:k]
strings = [str(integer) for integer in integers]
a_string = "".join(strings)
an_integer = int(a_string)
for i in scores:
if i > 0 and i >= an_integer:
count += 1
return count
print(nextRound(2,[1,1,1,1]))
这里是问题的说明:
“如果参赛者的分数等于或大于第k名,则如果自己的分数大于0,则晋级下一轮”。所以写一个函数 nextRound(k,scores) 来计算有多少参赛者进入下一轮。
这完成了同样的事情,我认为您可能将 int 列表与其成员的数据类型列表混淆了:
def nextRound(k,scores):
count = 0
integer = scores[k]
for i in scores:
if i > 0 and i >= integer:
count += 1
return count
print(nextRound(2,[1,1,1,1]))
运行 这给出了 4 的预期输出。这确实假设分数是预先排序的。
我已经写了一些代码,但想让它更简单。
我如何才能从我的列表中提取所需的整数,而无需所有额外的代码行将其转换为整数,以便我可以在我的 if 语句中使用它?
def nextRound(k,scores):
count = 0
integers = scores[k-1:k]
strings = [str(integer) for integer in integers]
a_string = "".join(strings)
an_integer = int(a_string)
for i in scores:
if i > 0 and i >= an_integer:
count += 1
return count
print(nextRound(2,[1,1,1,1]))
这里是问题的说明:
“如果参赛者的分数等于或大于第k名,则如果自己的分数大于0,则晋级下一轮”。所以写一个函数 nextRound(k,scores) 来计算有多少参赛者进入下一轮。
这完成了同样的事情,我认为您可能将 int 列表与其成员的数据类型列表混淆了:
def nextRound(k,scores):
count = 0
integer = scores[k]
for i in scores:
if i > 0 and i >= integer:
count += 1
return count
print(nextRound(2,[1,1,1,1]))
运行 这给出了 4 的预期输出。这确实假设分数是预先排序的。