为什么我的程序不调用main调用的其他方法

时间:2019-01-02 01:22:49

标签: python python-3.x main

我只是想知道为什么我的main函数没有调用用户定义的方法。我真的不确定为什么这行不通,这是一个非常基本的问题,因为我是python的新手,所以轻松一点。 我在Windows上使用pycharm

def futurevalue():
    originalPrincipal=input("Enter original Principal: ")
    interestRate=input("Enter interest rate: ")
    N=input("Enter number of periods")
    print(originalPrincipal*((1+interestRate)**N))

def futurevalueAnuity():
    originalPrincipal = input("Enter original Principal: ")
    interestRate = input("Enter interest rate: ")
    N = input("Enter number of periods")
    print(originalPrincipal*((((1+interestRate)**N)-1)/interestRate))

def main():
    kill=0
    while kill!=-1:
        menucontrol=1
        menucontrol=input("Enter \n1 to find the futuer value of a sum of 
money\n"
              "2 to find the futuere value of an anuity\n"
              "3 to quit\n")
        if menucontrol==1:
            futurevalue()
        elif menucontrol==2:
            futurevalueAnuity()
        else:
            kill=-1



if __name__=='__main__':
    main()

1 个答案:

答案 0 :(得分:0)

您链接的网站讨论了Python 2中实现的input()raw_input()之间的区别。您在这里的问题是针对Python 3的,它的实现方式有所不同。

在Python 3中,input返回类型str

>>> age = input("What is your age? ")
What is your age? 100
>>> type(age)
<class 'str'>

因此,您的条件正在检查str == int,没有一个成功。