我是Python的初学者,我正在练习一些功能。 现在我有了以下代码:
def BTWcalculator():
price = input("What is the products price?")
btw = input("Please enter a valid BTW-class: 1 = 6%, 2 = 19%")
if btw == 1:
return price * 1.06
elif btw == 2:
return price * 1.19
else:
BTWcalculator()
BTWcalculator()
然而,它不起作用。我确信这是一件令人愚蠢的事情,但是我找不到我的错误......如果有人可以帮助我,那就太棒了。
我正在使用Python 3.3.3
提前致谢!
答案 0 :(得分:1)
您必须将输入转换为所需的相应类型(使用Python 3.3),因为input
返回一个字符串。在else
子句中,您必须返回BTWcalculator()
的值,否则它将不会被存储或打印。
<强>代码:强>
def BTWcalculator():
price = float(input("What is the products price?: "))
btw = input("Please enter a valid BTW-class: 1 = 6%, 2 = 19%: ")
if btw == "1":
return price * 1.06
elif btw == "2":
return price * 1.19
else:
return BTWcalculator()
并测试它:
print BTWcalculator()
<强>输出:强>
What is the products price?: 10
Please enter a valid BTW-class: 1 = 6%, 2 = 19%: 3
What is the products price?: 10
Please enter a valid BTW-class: 1 = 6%, 2 = 19%: 1
10.6