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

2024-09-28 05:28:06 发布

您现在位置: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("----          ------")



while year < 31 :
    print("%4d  %15.2f"  % (year, salary))
    increase = salary * RATE / 100
    salary = salary + increase
    year = year + 1

Tags: 代码rateyearinitialscheduleprintsalaryteacher
2条回答

你可能输入了31而不是21,所以

while year < 21 :
    # your code

或者你的意思可能是21岁以后工资不再增加,所以:

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

您也可以使用for循环,因为您知道循环将被执行的次数,并且可以做一些改进,例如删除可变的初始薪资,使用一个用三个双引号或单引号括起来的字符串,以避免使用过多的print语句:

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
while year < 31 :
    print("%4d  %15.2f"  % (year, salary))
    if year < 21:
       increase = salary * RATE / 100
       salary = salary + increase
    year = year + 1

相关问题 更多 >

    热门问题