Python while循环可能需要一个break语句?

Python while循环可能需要一个break语句?,python,Python,我需要此代码停止计算20年后的工资增长。我尝试添加另一个while循环,但这导致出现了一个无限循环。任何帮助都将不胜感激 RATE = 2.0 INITIAL_SALARY = 37238.00 salary = INITIAL_SALARY year = 1 print("Murdock County") print("Teacher Salary Schedule") print() print("Year Salary") print("---- --

我需要此代码停止计算20年后的工资增长。我尝试添加另一个while循环,但这导致出现了一个无限循环。任何帮助都将不胜感激

RATE = 2.0
INITIAL_SALARY = 37238.00
salary = INITIAL_SALARY
year = 1

print("Murdock County")
print("Teacher Salary Schedule")
print()
print("Year          Salary")
print("----          ------")



while year < 31 :
    print("%4d  %15.2f"  % (year, salary))
    increase = salary * RATE / 100
    salary = salary + increase
    year = year + 1
RATE=2.0
初始工资=37238.00
薪金=起薪
年份=1
印刷品(“默多克县”)
打印(“教师工资表”)
打印()
打印(“年薪”)
打印(“---------”)
当年份<31时:
打印(“%4d%15.2f”%(年薪))
增加=工资*费率/100
薪水=薪水+加薪
年份=年份+1
当年份<31时:
打印(“%4d%15.2f”%(年薪))
如果年份<21:
增加=工资*费率/100
薪水=薪水+加薪
年份=年份+1

您可能键入的是31而不是21,所以

while year < 21 :
    # your code
年份<21:
#你的代码
或者你可能是说21岁以后工资不再增加,所以:

while year < 31 :
    print("%4d  %15.2f"  % (year, salary))
    if year < 21:
       increase = salary * RATE / 100
       salary += increase
    year += 1
年份<31时:
打印(“%4d%15.2f”%(年薪))
如果年份<21:
增加=工资*费率/100
薪金+=增加
年份+=1
您也可以使用for循环,因为您知道循环将被执行的次数,并进行一些改进,例如可能删除变量INITIAL_SALARY,使用三个双引号或单引号中的字符串,以避免使用过多的打印语句:

RATE = 2.0
salary = 37238.00

print("""Murdock County
Teacher Salary Schedule

Year          Salary
----          ------""")


for year in range(1, 31):
    print("%4d  %15.2f" % (year, salary))
    if year < 21:
        increase = salary * RATE / 100
        salary += increase
    year += 1
RATE=2.0
工资=37238.00
印刷品(“”“默多克县
教师薪金表
年薪
----          ------""")
对于范围(1,31)内的年份:
打印(“%4d%15.2f”%(年薪))
如果年份<21:
增加=工资*费率/100
薪金+=增加
年份+=1

在循环中使用if如何?这是打字错误吗<代码>年份<31
而不是
年份<21
?如果我理解正确,这将解决你的问题。你的意思是在21岁时停止计算,但打印21至31岁不变的工资吗?如果是这样的话,while循环中的If应该可以。是的,我仍然需要它来打印21到30年。这会继续打印21到30年不变的工资吗?是的。由于
工资
变量的范围不在
范围内,而
变量未完成!我之前试过一个“如果”的说法,只是放错了地方。。。。我还在学习lolYes,这就是我的意思,我仍然需要它来打印21到30年不变的薪水。@Imiguelvargasf,是的,谢谢!我尝试了一个if语句,但放错了地方。我只是在学习Python,所以我非常感谢所有的帮助@AndrewN,很高兴帮助你,我希望你能考虑一些我的回答。
RATE = 2.0
salary = 37238.00

print("""Murdock County
Teacher Salary Schedule

Year          Salary
----          ------""")


for year in range(1, 31):
    print("%4d  %15.2f" % (year, salary))
    if year < 21:
        increase = salary * RATE / 100
        salary += increase
    year += 1