我需要能够显示原始报价和还价的未来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()
答案 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