我正在努力找出如何将数学添加到这个函数中:
问题:编写一个程序,首先定义一个带有签名的函数calculateFathersDayPrice(price, isMember)。如果用户不是成员(member),该函数应返回 95% 的价格;如果用户是成员(member),则该函数应返回 85% 的价格(即,如 isMember 所示)。然后,您的程序应提示输入价格以及用户是否是成员(member)(您可以假设用户输入"is"或“否”),调用calculateFathersDayPrice(),然后打印该函数返回的价格。
到目前为止我的代码:
def calculateFathersDayPrice(price, isMember):
"""Prints price*0.85/100 if isMember is True, prints price*0.95/100 if isMember is
false
"""
if isMember:
print price * 0.85/100
else:
print price * 0.95/100
price = raw_input ("Please Enter Price of Item: ")
isMember = raw_input ("Are you a member?: ")
print 'price:', price, 'Member Status:', isMember
print calculateFathersDayPrice(price, isMember)
最佳答案
我倾向于鼓励函数中不要有副作用,因此您可以使用“返回”而不是“打印”。
def calculateFathersDayPrice(price, isMember):
if isMember:
return price * 0.85
return price * 0.95
price = float(raw_input("Please Enter Price of Item: "))
isMember = raw_input("Are you a member?: ").lower() in ['true', '1', 't', 'y', 'yes']
print 'Member Status: %s' % isMember
print 'Price: %.2f' % calculateFathersDayPrice(price, isMember)
这将检查答案是否是提供的真实值之一,然后根据 isMember 状态计算价格。最后,使用字符串格式,您将获得具有适当小数位数的结果。
关于计算成员(member)价格的Python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288638/