无法显示原件和还价

时间:2018-10-30 18:14:39

标签: python

我需要能够显示原始报价和还价的未来6年的薪水。我的问题是我当前的解决方案不会显示原始报价或我输入的柜台。只会在第一年之后显示金额。

到目前为止,这是我的解决方案:

def main():

    #call get input
    getInput()

    #call calcSalary
    calcSalary()

def getInput():

    #define variables
    startingSalary = 0.0 #counter starting salary
    annualRaise = 0.0 #counter annual raise

    # get input from user for counter offer
    startingSalary = int(input("What is your counter offer for salary?:"))

    annualRaise = int(input("What is your counter offer for annual raise?:"))

    #display table heading
    print("Counter offer:")
    print("Year\tSalary")
    print("---------------")

    #display counter offer for next 6 years
    for year in range(1, 7):
        startingSalary += (annualRaise/100) * startingSalary
        print(year, "\t$", format(startingSalary, ".2f"))

    #return getInput to main function
    return getInput


def calcSalary():

    #define varibales
    startingSalary = 65000 #original salary offer
    anaualRaise = 0.02 #original annual raise offer

    #print table heading
    print("Original offer:")
    print('Year\tSalary')
    print('---------------')

    #display original annual salary
    for year in range(1, 7):
        startingSalary += (.02) * startingSalary
        print(year, "\t$", format(startingSalary, ".2f"))

    #return calcSalary to main function
    return calcSalary

main()

2 个答案:

答案 0 :(得分:0)

使用所有这些代码...一旦去除多余的行,问题就非常明显了。您没有得到第一年的值,因为您特别避免打印它们。直接进入第二年的输出-您将第一年标记为什么。在进入循环以计算加薪之前,只需在每个例程中添加一行以打印原始薪水即可。

        print(0, "\t$", format(startingSalary, ".2f"))

在每个例程中循环之前。

答案 1 :(得分:0)

只需重新排列打印语句:

for year in range(7):
    print(year, "\t$", format(startingSalary, ".2f"))
    startingSalary += (annualRaise/100) * startingSalary

for year in range(7):
    print(year, "\t$", format(startingSalary, ".2f"))
    startingSalary += annualRaise * startingSalary