Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中忽略的if语句_Python_Loops_While Loop - Fatal编程技术网

python中忽略的if语句

python中忽略的if语句,python,loops,while-loop,Python,Loops,While Loop,我有以下代码: 出于某种原因,程序会忽略第二条“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

我有以下代码:
出于某种原因,程序会忽略第二条“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,converted_rate)
    print("Your total pay is: £", totalHours2)

----------
我是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,converted_rate)
    print("Your total pay is: £", totalHours2)
#定义函数
def计算工资(小时、费率):
工资=小时*费率
报酬
def计算垂直工资(加班时间、加班费率):
加班=加班时间*加班费率*1.5
加班返回
#获取用户输入的主程序
工时=浮动(输入(“输入小时数:”)
转换的利率=浮动(输入(“输入您的利率:”)
如果工作时间<40小时:
totalHours=CalculateBasicPay(换算小时数、换算费率)
打印(“您的总工资为:£”,总小时数)
如果工作时间>40小时:
totalHours2=CalculateOvertimePay(换算小时数、换算费率)
打印(“您的总工资为:£”,总小时数2)

您的行
hoursWorked=int()
不会从用户那里获得输入,它只是创建一个值为0的整数

您应该将其替换为以下内容:


<代码> HulsWorks= int(输入(“您已经工作了多少小时:”)) < /P>除了其他的缺陷之外,您还应该考虑如果<代码> HulsWorks==40 < /代码>会发生什么,如果您正在使用INTHER()来初始化小时工作,就像在这里发布的情况一样,它的值将是0,总是小于50。

#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,converted_rate)
    print("Your total pay is: £", totalHours2)