我在脚本中从用户那里获取浮点参数,想知道是否有更好/有效的方法,包括一个选项,比如如果用户只提供一个参数(或根本不提供),有什么方法可以让我默认剩下两个为 0.0?并且可能是一些更好的存储在文件中的方式
#inside a loop to keep getting values
line = raw_input("Enter three parm values: ")
x=line.split(' ')
fa=fb=fc=0.0
a=x[0]
b=x[1] #what if user only supplies only one?
c=x[2] # how can i leave this or default to 0.0?
fa=float(a)
fb=float(b)
fc=float(c)
file=open(inputFile, 'a+')
file.write(name)
file.write("\t")
file.write(a)
file.write(" ")
file.write(b)
file.write(" ")
file.write(c)
file.write("/n")
请您参考如下方法:
为什么不使用列表来保存任意数量的变量?
floats = [float(var) if var else 0.
for var in raw_input("Enter three parm values: ").split(' ')]
with open(inputFile, 'a+') as f:
f.write(name + '\t' + ' '.join(str(f) for f in floats) + '\n')
如果你想用最多三个参数的额外零填充这个列表,那么你可以这样做:
floats = [1] # For example.
if len(floats) < 3:
floats += [0] * (3 - len(floats))
>>> floats
[1, 0, 0]
