如何将变量从一个函数传递给另一个函数?

法比奥

对不起,如果我的英语不好但它不是我的母语

我开始用 Python 学习编程,我需要为我的班级编写这段代码。

基本上由公司工人的清单组成,用于计算他们的工资,并应用一些折扣和奖金。在菜单的选项 4 中,我必须显示所有已注册的 ID 以及他们的最终工资

我需要把变量Sueldo Descontado这是在功能防守Calcular_Sueldo() 的功能防守Liquidaciones_Rut

有人告诉我将它定义为一个类并将其添加到注册表列表 []但我不知道该怎么做:/

PS:如果我将变量SueldoDescontado定义global为所有 ID 打印相同的值:/

我希望有一个人可以帮助我

这是我的代码

Lista = [] #<----- Array


Mess = ['enero', 'febrero', 'marzo', 'abril','mayo', 'junio', 'julio', 
       'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre',
       'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 
       'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre',
       'ENERO', 'FEBRERO', 'MARZO', 'ABRIL', 'MAYO', 'JUNIO', 'JULIO', 
       'AGOSTO', 'SEPTIEMBRE', 'OCTUBRE', 'NOVIEMBRE', 'DICIEMBRE']

Rank =  ['novato', 'experto', 'supervisor', 'administrativo',
        'Novato', 'Experto', 'Supervisor', 'Administrativo',
        'NOVATO', 'EXPERTO', 'SUPERVISOR', 'ADMINISTRATIVO']

SistemaSalud = ['a', 'b', 'c',
               'A', 'B', 'C']



class Trabajador: #Class <----
Mes = '' 
Año = 0
Rut = ''
Nombre = ''
Categoria = ''
DiasOff = 0
AFP = ''
SSalud = ''
SueldoBruto = 0
SueldoDescontado = 0

def Ingresar_Datos():
    Elementos = int(input('Ingrese cantidad de trabajadores que desea agregar: \n')) #<--- How many people do you want to add
        for Trabajadores in range(Elementos):
        dato = Trabajador()

        while True:
            Nombre = input("Ingrese un nombre: ") #<--- Name
            if vacio(Nombre):
                print ('No puede dejar el campo vacio')
            else:
                dato.Nombre = Nombre
                break

       while True:
            Rut = input('Ingrese Rut: ') # <---- ID Number
            if vacio(Rut):
                print ('No puede dejar el campo vacio')
            else:
                dato.Rut = Rut
                break

       while True:
            Mes = input('Ingrese mes: ') # <---- Month when start at work
            if vacio(Mes):
                print ('No puede dejar el campo vacio')
            elif Mes in Mess:
                dato.Mes = Mes
                break
            else:
                print('Mes invalido')


        while True:
            Año = input('Ingrese año: ') # <---- Year when start at work
            if vacio(Año):
                print ('No puede dejar el campo vacio')
            else:
                dato.Año = Año
                break

        while True:
            AFP = input('Ingrese AFP: ') # <---- NVM just a company name can be put here, not relevant
            if vacio(AFP):
                print ('No puede dejar el campo vacio')
            else:
                dato.AFP = AFP
                break

        while True:
            SSalud = input('Sistema de salud A B o C\nDigite opcion: ') # <---- System Health, Here is A, B or C, This make a discount%
            if vacio(SSalud):
                print ('No puede dejar el campo vacio')
           elif SSalud in SistemaSalud:
                dato.SSalud = SSalud
                break
            else:
                print ('::::::::::::::::::::ERROR Opcion Invalida::::::::::::::::::::')


        while True:
            Categoria = input('Categoria; Novato, Supervisor, Experto o Administrativo: ') # <---- Worker rank, Expert have a 2xBonus for 0 days off
            if vacio(Categoria):
                print ('No puede dejar el campo vacio')
            elif Categoria in Rank:
                dato.Categoria = Categoria
                break
            else:
                print ('::::::::::::::::::::ERROR Categoria invalida::::::::::::::::::::')


        while True:
                DiasOff = input('Ingrese cantidad de dias de ausencia: ') #<------ Days of absence, 0 days have a bonus$
                if dato.DiasOff < 0 or dato.DiasOff > 30:
                    print ('Dias de ausencia no puede ser negativo o mayor a 30')
                else:
                    dato.DiasOff = DiasOff
                    break


       while True:
            try:
                SueldoBruto = int(input('Ingrese sueldo bruto: ')) # <------- Gross Salary
                if dato.SueldoBruto < 0:
                    print ('El monto del sueldo bruto no puede ser negativo')
                else:
                    dato.SueldoBruto = SueldoBruto
                    break
            except ValueError:
                print('error')

        print("------------------------------------------------")
        Lista.append(dato)


def vacio(x):
    if x and x.strip():
        return False
    return True 


def Calcular_Sueldo():
    Bono = 50000 #<-------- Bonus for 0 Days of absence
    for Trabajadores in Lista:
        print('Nombre trabajador: ',Trabajadores.Nombre,'\n')

        if Trabajadores.DiasOff == '0' and Trabajadores.Categoria == ('experto') or Trabajadores.DiasOff == '0' and Trabajadores.Categoria == ('Experto') or Trabajadores.DiasOff == '0' and Trabajadores.Categoria == ('EXPERTO'):
            SueldoBono = Trabajadores.SueldoBruto + Bono*2 #<-------- There is if 0 days absence and rank experto, 2xBonus
            print('Sueldo bruto + Bono (Experto) por 0 faltas: ',SueldoBono)


        elif Trabajadores.DiasOff == '0': #<-------- Bonus for 0 Days of absence, nvm about rank here
            SueldoBono = Trabajadores.SueldoBruto + Bono
            print('Sueldo bruto + Bono por 0 faltas: ',SueldoBono)


        else:
            SueldoBono = Trabajadores.SueldoBruto #<-------- No bonus for days absence
            print('Tiene faltas/ausencia, no tiene derecho a Bono: ',SueldoBono)


        DctoAFP = SueldoBono - (SueldoBono * 0.1) #<-------- This makes a 10% descuento for AFP, the nvm'company name
        print('Sueldo bruto + Recorte del 10% por AFP ',Trabajadores.AFP,': ',DctoAFP)



        if Trabajadores.SSalud == 'a' or Trabajadores.SSalud == 'A': #<-------- If Sistem Health is A, make a 5,7% discount
            DctoSalud = (DctoAFP/100) * 5.7
            print('Recorte del sistema de salud A: ',DctoSalud)
            SueldoDescontado = DctoAFP - DctoSalud #<-------------------------- This Variable --------- !"#$"!#%!"#%!#"%"#$%$"#----------
            print('Total a pagar: ',SueldoDescontado)





        if Trabajadores.SSalud == 'b' or Trabajadores.SSalud == 'B': #<-------- If Sistem Health is B, make a 6.1% discount
            DctoSalud = (DctoAFP/100) * 6.1
            print('Recorte del sistema de salud B: ',DctoSalud)
            SueldoDescontado = DctoAFP - DctoSalud #<-------------------------- This Variable --------- !"#$"!#%!"#%!#"%"#$%$"#----------
            print('Total a pagar: ',SueldoDescontado)





        if Trabajadores.SSalud == 'c' or Trabajadores.SSalud == 'C': #<-------- If Sistem Health is C, make a 6.5% discount
            DctoSalud = (DctoAFP/100) * 6.5
            print('Recorte del sistema de salud C: ',DctoSalud)
            SueldoDescontado = DctoAFP - DctoSalud #<-------------------------- This Variable --------- !"#$"!#%!"#%!#"%"#$%$"#----------
            print('Total a pagar: ',SueldoDescontado)




        print('--------------------------------------')

def Liquidaciones_Rut(): #<------- Here I need to print all the ID's number's with his Final Salary (SueldoDescontado)
    for Trabajadores in Lista:
        print('Rut: ',Trabajadores.Rut,'Total a pagar: $',SueldoDescontado) #<----- To here --------- !"#$"!#%!"#%!#"%"#$%$"#----------




def Listar_Empleados(): #<------------------ Here just print the names of all workers
    for Trabajadores in Lista:
        print("Empleados registrados: ", Trabajadores.Nombre)






opcion = 7
while (opcion != 6):
    print(' ========== Administracion NovaVision ========== ')
    print('Menu')
    print('1.- Ingresar Datos') #<-------------------------- Enter Data
    print('2.- Calcular Sueldo') #<-------------------------- Calculate Salary
    print('3.- Listar Empleados') #<----------------------------- List employees (by his name)
    print('4.- Mostrar Liquidaciones por RUT') # <--------- List numbers ID with his Respective Salary
    print('5.- Salir')
    opcion = int(input('Ingrese su opcion: '))
    if (opcion == 1):
       Ingresar_Datos() 
    elif (opcion == 2):
       Calcular_Sueldo()
    elif (opcion == 3):
       Listar_Empleados()
    elif (opcion == 4):
       Liquidaciones_Rut()
    elif (opcion == 5):
       print('Saliendo .. ')
    else:
       print ('Opcion no valida')
米莎·瓦西奇

小例子

class Trabajador:

    def __init__(self, number, month, year):
        self.number = number
        self.month = month
        self.year = year

Mess = ['enero', 'febrero', 'marzo', 'abril','mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']             

T1 = Trabajador(10, Mess[0] , 1979)

print (T1.number)
print (T1.month)
print (T1.year)

__init 方法是类构造函数,但请阅读我给您的链接

在 Linux 中从命令行运行它

python example1.py

你会得到

10
enero
1979

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将局部变量传递给另一个函数?

来自分类Dev

Laravel-将变量从一个函数传递给另一个函数

来自分类Dev

如何将函数输出传递给另一个函数

来自分类Dev

Python单元测试如何将变量从一个函数传递给另一个函数

来自分类Dev

如何将函数和参数的变量列表传递给C中的另一个函数?

来自分类Dev

如何在angularJS中将变量从一个函数传递给另一个函数?

来自分类Dev

如何将Js函数数组传递给另一个Js函数?

来自分类Dev

如何将字符串变量从一个函数传递给另一个函数?

来自分类Dev

如何将void函数传递给另一个void函数?

来自分类Dev

将变量从一个函数传递到另一个函数-Javascript

来自分类Dev

如何将tanh函数作为参数传递给另一个函数?

来自分类Dev

JavaScript-如何将变量从一个异步函数传递给另一个异步函数?

来自分类Dev

如何将变量值从一个函数传递给另一个函数

来自分类Dev

Laravel-将变量从一个函数传递给另一个函数

来自分类Dev

将变量从一个函数传递到另一个函数

来自分类Dev

如何将一个函数的值传递给另一个函数?

来自分类Dev

如何将变量从一个函数传递给另一个函数

来自分类Dev

Ajax:如何将一个函数的变量传递给另一个jQuery

来自分类Dev

如何将函数作为参数传递给另一个函数?

来自分类Dev

如何将$(this)变量传递给另一个函数javascript

来自分类Dev

如何使用itertools将返回的值从一个函数传递给另一个函数?

来自分类Dev

如何在angularJS中将变量从一个函数传递给另一个函数?

来自分类Dev

如何将另一个函数作为变量传递给R中的函数?

来自分类Dev

将变量从一个 JS 函数传递到另一个函数

来自分类Dev

C++ 如何将引用从一个函数传递到另一个函数?

来自分类Dev

jQuery:如何将值从一个函数传递到另一个函数?

来自分类Dev

Angular 2 firebase 如何将变量传递给另一个函数?

来自分类Dev

将变量 (id) 从一个函数传递到另一个函数

来自分类Dev

如何将参数从一个函数传递到另一个函数

Related 相关文章

  1. 1

    如何将局部变量传递给另一个函数?

  2. 2

    Laravel-将变量从一个函数传递给另一个函数

  3. 3

    如何将函数输出传递给另一个函数

  4. 4

    Python单元测试如何将变量从一个函数传递给另一个函数

  5. 5

    如何将函数和参数的变量列表传递给C中的另一个函数?

  6. 6

    如何在angularJS中将变量从一个函数传递给另一个函数?

  7. 7

    如何将Js函数数组传递给另一个Js函数?

  8. 8

    如何将字符串变量从一个函数传递给另一个函数?

  9. 9

    如何将void函数传递给另一个void函数?

  10. 10

    将变量从一个函数传递到另一个函数-Javascript

  11. 11

    如何将tanh函数作为参数传递给另一个函数?

  12. 12

    JavaScript-如何将变量从一个异步函数传递给另一个异步函数?

  13. 13

    如何将变量值从一个函数传递给另一个函数

  14. 14

    Laravel-将变量从一个函数传递给另一个函数

  15. 15

    将变量从一个函数传递到另一个函数

  16. 16

    如何将一个函数的值传递给另一个函数?

  17. 17

    如何将变量从一个函数传递给另一个函数

  18. 18

    Ajax:如何将一个函数的变量传递给另一个jQuery

  19. 19

    如何将函数作为参数传递给另一个函数?

  20. 20

    如何将$(this)变量传递给另一个函数javascript

  21. 21

    如何使用itertools将返回的值从一个函数传递给另一个函数?

  22. 22

    如何在angularJS中将变量从一个函数传递给另一个函数?

  23. 23

    如何将另一个函数作为变量传递给R中的函数?

  24. 24

    将变量从一个 JS 函数传递到另一个函数

  25. 25

    C++ 如何将引用从一个函数传递到另一个函数?

  26. 26

    jQuery:如何将值从一个函数传递到另一个函数?

  27. 27

    Angular 2 firebase 如何将变量传递给另一个函数?

  28. 28

    将变量 (id) 从一个函数传递到另一个函数

  29. 29

    如何将参数从一个函数传递到另一个函数

热门标签

归档