a = []
for i in range(3):
a.append(input())
j = 0
for i in a:
if i % 10 != 7:
j = min(a)
print j
我需要一种算法来找到列表中最小的正数,其十进制表示不以数字 7 结尾。保证列表至少有一个正元素,其十进制表示不以数字 7 结尾.我试过了,但条件不工作。例如:它说7在[9,8,7]中最小。
最佳答案
您总是测试a
中的最小数字,尽管测试次数与a
中未过滤的数字一样多。不要首先将以 7
结尾的数字添加到 a
;您可能还想过滤正数:
a = []
for i in range(3):
value = input()
if i % 10 != 7 and i >= 0:
a.append(value)
print min(a)
或者,过滤掉生成器表达式中的值:
a = []
for i in range(3):
a.append(input())
print min(i for i in a if i % 10 != 7 and i >= 0)
关于python - 使用条件 python 查找最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098086/