这是我的程序,
item_no = []
max_no = 0
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
for i in item_no:
if no > max_no:
max_no = no
high = item_no.index(max_no)
print (item_no[high])
示例输入:5, 6, 7, 8, 8
示例输出:8
如何更改程序以在数组中输出相同的最高数字,以及如何在(item_no)中找到结果的索引?
预期输出:8, 8
item_no中结果的预期索引:3, 4
答案 0 :(得分:4)
我会使用max()
来找到最大值。
item_no = []
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
m = max(item_no)
max_values = [i for i in item_no if i == m]
max_values_indexes = [i for i, j in enumerate(item_no) if j == m]
print(max_values)
print(max_values_indexes)
使用5, 6, 7, 8, 8
作为输入的输出:
[8, 8]
[3, 4]
答案 1 :(得分:1)
只需使用过滤器功能查找所有最大元素,然后查找索引的新列表即可。
items = []
for i in range(5):
no = int(input("Enter an item number: "))
items.append(no)
max_item = max(items)
highest = list(filter(lambda x: x==max_item, items))
index = [pos for pos, no in enumerate(items) if no == highest[0]]
print (highest)
print (index)
输入5、6、7、8、8,您将得到
[8, 8]
[3, 4]