当我试图编写一个程序来计算对Python的简单兴趣时,我遇到了一个小问题。
def si(p,r=100,t=2):
return (p*r*t)/100
x=float(input("Enter principal amount"))
y=float(input("Enter rate"))
z=float(input("Enter time"))
print (si(x,y,z))
我想使y和z为可选。知道我该怎么办吗?如果我将其保留为空白,然后按Enter,则显示错误。
答案 0 :(得分:0)
最简单的方法是使用or
def si(p,r,t):
返回(p r t)/ 100
x = float(input("Enter principal amount: "))
y = float(input("Enter rate: ") or 100)
z = float(input("Enter time: ") or 2)
print (si(x,y,z))
Enter principal amount: 1
Enter rate:
Enter time:
2.0
但是正确的方法是在将输入转换为浮点之前验证输入
def si(p,r=100,t=2):
return (p*r*t)/100
x = input("Enter principal amount: ")
y = input("Enter rate: ")
z = input("Enter time: ")
def validate(param):
return float(param) if param else 1
print (si(validate(x), validate(y), validate(z)))
输出:
Enter principal amount: 1
Enter rate:
Enter time:
0.01