它不打印任何东西

时间:2017-09-26 10:08:00

标签: python

•编写一个函数strings2floats(ls),它接受一个字符串列表ls并返回一个浮点列表。 你的函数应该构造要返回的浮点数列表,而不是修改传入的列表。

•编写一个函数positive_min(lf),返回列表lf

中最小的正浮点数

•编写一个程序min + .py,从命令行读取一个浮点列表并打印最小的正值

    import sys
ls=(sys.argv[1:])
def string2floats(ls):
    lf=[]
    for element in ls:
        lf.append(float(element))
    return lf
def positive_min(lf):
    minimum = float("inf")
    for i in range(0,len(lf)):
        if (minimum>lf[i] and lf[i]>0):
            minimum=lf[i]
    return minimum

positive_min(string2floats(ls))

1 个答案:

答案 0 :(得分:2)

ls是一个列表;它包含所有命令行参数。

range()需要一个整数;也就是说,要计算的数量。

如果你想迭代一个列表,那么就这样做,你不需要范围。

for element in ls:

注意,编写整个string2floats函数的更多Pythonic方法是单个列表理解:

lf = [float(elem) for elem in ls]