python - 使用条件 python 查找最小值

标签 python python-2.7 conditional-statements min

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/

相关文章:

python - 日期范围内的 xlsxwriter

python - 在views.py中自定义保存方法

python - 使用python etree获取xml的属性

python - 奇怪的分隔符

写条件的 Pythonic 方式

MySQL 有条件插入

python - Django 分页不起作用

python - 从比赛结果到使用 Trueskill 进行评分(在 Python 中)

python-2.7 - 如何使用Python脚本将对象上传到Google Cloud Storage?

JavaScript 强制 : Console vs Script