Python函数挣扎

时间:2014-01-05 15:57:44

标签: python

我是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

提前致谢!

1 个答案:

答案 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