如何解决python中的if语句被忽略
我有以下代码:
由于某种原因,程序将忽略第二个'if'语句。
有人知道为什么吗?
#define function
def CalculateBasicPay (hours,rate):
pay = hours * rate
return pay
def CalculateOvertimePay (overtime_hours,overtime_rate):
overtime = overtime_hours * overtime_rate * 1.5
return overtime
#main program to get user input
hoursWorked = int()
if hoursWorked < 40:
converted_hours = float(input("Enter number of hours: "))
converted_rate = float(input("Enter your rate: "))
totalHours = CalculateBasicPay(converted_hours,converted_rate)
print("Your total pay is: £",totalHours)
if hoursWorked > 40:
converted_hours = float(input("Enter number of hours: "))
converted_rate = float(input("Enter your rate: "))
totalHours2 = CalculateOvertimePay(converted_hours,totalHours2)
----------
输出始终仅处于第一个条件:
Enter number of hours: 5
Enter your rate: 2
Your total pay is: £ 10.0
>>>
Enter number of hours: 50
Enter your rate: 2
Your total pay is: £ 100.0
-----------
我是python的新手!因此,请保持友好:)
干杯:)
解决方法
您应该让工作时间超出if语句的作用:
#define function
def CalculateBasicPay (hours,rate):
pay = hours * rate
return pay
def CalculateOvertimePay (overtime_hours,overtime_rate):
overtime = overtime_hours * overtime_rate * 1.5
return overtime
#main program to get user input
hoursWorked = float(input("Enter number of hours: "))
converted_rate = float(input("Enter your rate: "))
if hoursWorked < 40:
totalHours = CalculateBasicPay(converted_hours,converted_rate)
print("Your total pay is: £",totalHours)
if hoursWorked > 40:
totalHours2 = CalculateOvertimePay(converted_hours,totalHours2)
,
您的行hoursWorked = int()
不能从用户那里得到输入,它只是创建一个值为0的整数。
您应将其替换为:
hoursWorked = int(input("How many hours have you worked: "))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。