Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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工资单程序_Python - Fatal编程技术网

使用多个函数和返回函数的Python工资单程序

使用多个函数和返回函数的Python工资单程序,python,Python,好的,我需要这个程序的帮助。 这是作业 编写一个工资单程序,为40岁以上的人支付时间半 小时。除主要功能外,还应具有3个功能 第一个函数询问用户总共工作了多少小时 已工作和工资率,并将此信息返回给main。这些 必须验证值。工作时间必须至少为8小时,不得超过8小时 超过86。工资率不能低于$7.00或高于$50.00 第二个函数计算正常工作时间和加班时间 小时,并将此信息返回到main。一个人可能工作更少 超过40小时,所以你必须考虑到这种情况 第三个函数计算固定工资(固定工时) 乘以工资率);

好的,我需要这个程序的帮助。 这是作业

编写一个工资单程序,为40岁以上的人支付时间半 小时。除主要功能外,还应具有3个功能

  • 第一个函数询问用户总共工作了多少小时 已工作和工资率,并将此信息返回给main。这些 必须验证值。工作时间必须至少为8小时,不得超过8小时 超过86。工资率不能低于$7.00或高于$50.00
  • 第二个函数计算正常工作时间和加班时间 小时,并将此信息返回到main。一个人可能工作更少 超过40小时,所以你必须考虑到这种情况
  • 第三个函数计算固定工资(固定工时) 乘以工资率);加班工资,(加班时间乘以加班工资) 并将此信息返回给main
  • 然后,Main将在屏幕上显示此信息,如 下面是示例。(必须传递和返回值)
  • 输出应如下所示:

                 Payroll Information
    Pay rate                           $10.00
    Regular Hours                       40
    Overtime Hours                      20
    Regular pay                        $400.00
    Overtime pay                       $300.00
    Total Pay                          $700.00
    
    这是我到目前为止所拥有的

    def work_info():
        hw = input('Enter the amount of hours worked between 8 and 56')
        while hw < 8 or hw > 86:
            print('Enter the amount of hours in range')
        pr = input('Enter the your current payrate between $7 and $50')
        while pr < 7 or pr > 50:
            print('Enter a payrate in range')
    
    def reg_ovt_hours():
        if hw < 40:
            reg_hours = hw and ovt_hours = 0
        else reg_hours > 40
            ovt_hours = hw - 40
    
        return hw
    
    def reg_pay():
        reg_pay = reg_hours * pr
        ovt_pay = ovt_hours * reg_pay * 1.5
        tot_pay = reg_pay + ovt_pay
        return pr, reg_hours, ovt_hours
    
    def main():
        print('Payroll Information')
        print ('Pay rate') pr
        print reg_hours
        print ovt_hours
        print reg_pay
        print ovt_pay
        print tot_pay
    
    main() 
    
    def work_info():
    hw=输入('输入8到56之间的工作小时数')
    当hw<8或hw>86时:
    打印('输入范围内的小时数')
    pr=input('输入您当前7美元到50美元之间的工资率')
    当pr<7或pr>50时:
    打印('输入范围内的付款率')
    def reg_ovt_小时数():
    如果hw<40:
    reg_小时=硬件和ovt_小时=0
    其他注册时间>40小时
    ovt_小时=hw-40
    返回硬件
    def reg_pay():
    注册工资=注册工时*pr
    ovt_pay=ovt_小时*注册支付*1.5
    tot_pay=注册支付+ovt_支付
    返回pr、reg_小时、ovt_小时
    def main():
    打印(‘工资单信息’)
    打印(“工资率”)请购单
    打印注册时间
    按小时打印
    打印注册费
    打印ovt_支付
    打印总帐
    main()
    
    请让我知道如何才能使这项工作正常进行

    这一行是错误的:

    else reg_hours > 40
    
    应该是

    elif reg_hours > 40:
    

    您缺少了一个冒号,您不能有
    else
    的条件,因为它涵盖了所有内容,嗯,“else”


    如果
    reg_hours==40
    ,会发生什么情况?

    您必须了解定义变量的范围。我建议看一本关于python中变量范围的教程

    我建议大家看看这个问题:

    例如,在
    work\u info
    中,您定义了
    hw
    pr
    ,但就目前情况而言,这是唯一定义它们的地方。因此,稍后当您尝试使用这些变量时,您将得到一个错误,因为python解释器不知道它们是什么


    您还需要将
    else reg_hours>40
    更改为
    else:
    elif reg_hours>40:

    为什么您认为它现在不工作?你有错误吗?意外输出?哦,嗯,它说语法错误,并在else函数之后突出显示reg_hours变量。哦,我看到了,ok,我试过了,这本身不是错误。也许您又忘记了冒号,或者使用了
    else
    而不是
    elif
    else: