•编写一个函数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))
答案 0 :(得分:2)
ls
是一个列表;它包含所有命令行参数。
range()
需要一个整数;也就是说,要计算的数量。
如果你想迭代一个列表,那么就这样做,你不需要范围。
for element in ls:
注意,编写整个string2floats
函数的更多Pythonic方法是单个列表理解:
lf = [float(elem) for elem in ls]