Python 如何修复此程序中的while循环?
编写一个包含3个列表的python程序: 姓名工资工时 胡安7.5035 Rae11.0041 伊凡娜18.2526 礼来9.2535 罗伯特11.1045 用这个逻辑: 员工工作超过40小时就会加班 加班工资使用以下公式计算: 工资总额=(35*工资)+(35小时)*工资*1.5) 定期工资使用以下公式计算: 工资总额=(小时*工资) 使用循环来处理这些列表 打印每位员工的工资、工时和工资总额 我正在运行这个程序,我有for循环。输入工作正常,但是while循环应该有相同的输出,但它根本没有给我任何输出。这是我的密码Python 如何修复此程序中的while循环?,python,Python,编写一个包含3个列表的python程序: 姓名工资工时 胡安7.5035 Rae11.0041 伊凡娜18.2526 礼来9.2535 罗伯特11.1045 用这个逻辑: 员工工作超过40小时就会加班 加班工资使用以下公式计算: 工资总额=(35*工资)+(35小时)*工资*1.5) 定期工资使用以下公式计算: 工资总额=(小时*工资) 使用循环来处理这些列表 打印每位员工的工资、工时和工资总额 我正在运行这个程序,我有for循环。输入工作正常,但是while循环应该有相同的输出,但它根本没有给
`Name = ["Juan","Rae","Ivanna", "Lilly", "Robert"]
Hours = [35,41,26,35,45]
Wage = [7.5,11,18.25,9.25,11.1]
print ("Name\tWage\tHours\tGP")
for X in range(5):
GP = 0
if(Hours[X] > 40):
GP = (35*Wage[X]) + ((Hours[X]-35)*Wage[X]*1.5)
else:
GP = Hours[X] * Wage[X]
print (Name[X],"\t", Wage[X],"\t", Hours[X],"\t", GP)
Name = ["Juan","Rae","Ivanna", "Lilly", "Robert"]
Hours = [35,41,26,35,45]
Wage = [7.5,11,18.25,9.25,11.1]
print ("Name\tWage\tHours\tGP")
counter = 5
Y = 0
while (Y):
if (Hours[Y] > 40):
GP = (35*Wage[Y]) + ((Hours[Y]-35)*Wage[Y]*1.5)
else:
GP = Hours[Y] * Wage[Y]
print (Name[Y],"\t", Wage[Y],"\t", Hours[Y],"\t", GP)`
我的产量是
Name Wage Hours GP
Juan 7.5 35 262.5
Rae 11 41 484.0
Ivanna 18.25 26 474.5
Lilly 9.25 35 323.75
Robert 11.1 45 555.0
Name Wage Hours GP
Juan 7.5 35 555.0
我不知道while循环中的错误在哪里 最后一行需要缩进。所以不是
while (Y):
if (Hours[Y] > 40):
GP = (35*Wage[Y]) + ((Hours[Y]-35)*Wage[Y]*1.5)
else:
GP = Hours[Y] * Wage[Y]
print (Name[Y],"\t", Wage[Y],"\t", Hours[Y],"\t", GP)
这是必须的
while (Y):
if (Hours[Y] > 40):
GP = (35*Wage[Y]) + ((Hours[Y]-35)*Wage[Y]*1.5)
else:
GP = Hours[Y] * Wage[Y]
print (Name[Y],"\t", Wage[Y],"\t", Hours[Y],"\t", GP)
因为现在,
print
在while循环之外,所以它只打印值Y=0
必须遵循python代码缩进
,并且需要使用(递增/递减/布尔)给出适当的while循环条件。因为您的代码需要增加Y
的值
Name = ["Juan","Rae","Ivanna", "Lilly", "Robert"]
Hours = [35,41,26,35,45]
Wage = [7.5,11,18.25,9.25,11.1]
print ("Name\tWage\tHours\tGP")
for X in range(5):
GP = 0
if(Hours[X] > 40):
GP = (35*Wage[X]) + ((Hours[X]-35)*Wage[X]*1.5)
else:
GP = Hours[X] * Wage[X]
print (Name[X],"\t", Wage[X],"\t", Hours[X],"\t", GP)
Name = ["Juan","Rae","Ivanna", "Lilly", "Robert"]
Hours = [35,41,26,35,45]
Wage = [7.5,11,18.25,9.25,11.1]
print ("Name\tWage\tHours\tGP")
counter = 5
Y = 0
while (Y<counter):
if (Hours[Y] > 40):
GP = (35*Wage[Y]) + ((Hours[Y]-35)*Wage[Y]*1.5)
else:
GP = Hours[Y] * Wage[Y]
print (Name[Y],"\t", Wage[Y],"\t", Hours[Y],"\t", GP)
Y=Y+1
Name=[“胡安”、“雷”、“伊凡娜”、“莉莉”、“罗伯特”]
小时数=[35,41,26,35,45]
工资=[7.5,11,18.25,9.25,11.1]
打印(“名称\tWage\tHours\tGP”)
对于范围(5)内的X:
GP=0
如果(小时[X]>40):
GP=(35*工资[X])+((小时[X]-35)*工资[X]*1.5)
其他:
GP=小时[X]*工资[X]
打印(姓名[X]、“\t”、工资[X]、“\t”、工时[X]、“\t”、GP)
姓名=[“胡安”、“雷”、“伊凡娜”、“莉莉”、“罗伯特”]
小时数=[35,41,26,35,45]
工资=[7.5,11,18.25,9.25,11.1]
打印(“名称\tWage\tHours\tGP”)
计数器=5
Y=0
而(Y 40):
GP=(35*工资Y])+((小时Y]-35)*工资Y]*1.5)
其他:
GP=小时[Y]*工资[Y]
打印(姓名[Y]、“\t”、工资[Y]、“\t”、工时[Y]、“\t”、GP)
Y=Y+1
您忽略了条件必须是Y
,并且在循环体Y+=1的末尾需要增加Y
。因为它的状态值总是错误的,所以循环体永远不会运行。非常感谢你们。我以前试过,但没有正确地结合在一起!现在一切都好了!