Python - Error en toma de decisiones Python

 
Vista:
Imágen de perfil de Anselmo
Val: 6
Ha aumentado su posición en 488 puestos en Python (en relación al último mes)
Gráfica de Python

Error en toma de decisiones Python

Publicado por Anselmo (2 intervenciones) el 30/06/2021 19:05:50
Agradezco quien me pueda ayudar a corregir este error en la toma de decisiones

1
2
3
while personas>0:
	datoS=int(input("Desea suministrar sus datos: (1=SI/2=NO "))
	if datos==1:

me marca el siguiente error

File "<string>", line 1, in <module> NameError: name 'SI' is not defined
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Error en toma de decisiones Python

Publicado por Francisco Javier (313 intervenciones) el 30/06/2021 19:28:59
Anselmo buenas noches, en principio el fallo te marca en la línea 1 y te dice que Si no está definida como variable. Necesitaría me mandaras más código para revisarlo. Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Anselmo
Val: 6
Ha aumentado su posición en 488 puestos en Python (en relación al último mes)
Gráfica de Python

Error en toma de decisiones Python

Publicado por Anselmo (2 intervenciones) el 30/06/2021 23:11:05
Este es el codigo Francisco Javier

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
personas=int(input("cuantas personas hay en la lista?"))
meses=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]
total_ingresos=0
#datos=""
while personas>0:
	datoS=int(input("Desea suministrar sus datos: (1=SI/2=NO "))
	if datos==1:
		nombre_persona=input("Nombres de la persona: ")
		npersonas=int(input("Numero de personas qu dependen: "))
		valor_ingreso_mes1=int(input("Valor Ingreso de mes uno: "))
		nombre_mes1=input("Nombre de mes uno: ")
		nombre_mes2=input("Nombre de mes dos: ")
		nombre_mes3=input("Nombre de mes tres: ")
		nombre_mes4=input("Nombre de mes cuatro: ")
		nombre_mes5=input("Nombre de mes cinco: ")
		ingresos[0]=valor_ingreso_mes1
		ingresos[1]=valor_ingreso_mes2
		ingresos[2]=valor_ingreso_mes3
		ingresos[3]=valor_ingreso_mes4
		ingresos[4]=valor_ingreso_mes5
		# Evaluacion 8 o mas personas
		total_ingresos=valor_ingreso_mes1+valor_ingreso_mes2+valor_ingreso_mes3+valor_ingreso_mes4+valor_ingreso_mes5
		if (pesonas>=8 and total_ingresos<800000):
			print "Tu margen de probreza es muy pobre"
		if (pesonas>=8) and (total_ingresos>800000 and total_ingresos<1500000):
			print "Tu margen de probreza es muy pobre"
		if (pesonas>=8) and (total_ingresos>1500000 and total_ingresos<2100000):
			print "Tu margen de probreza es pobre"
		if (pesonas>=8) and (total_ingresos>2100001 and total_ingresos<3101000):
			print "Tu margen de probreza es clase media"
		if (pesonas>=8) and (total_ingresos>=3000000):
			print "Tu margen de probreza es clase media"
	#endif:
		Print("Finalizacion del programa")
		# Evaluacion entre 6 o 7 personas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Error en toma de decisiones Python

Publicado por Francisco Javier (313 intervenciones) el 01/07/2021 00:02:46
Hay varias cosas que he cambiado porque cuando haces referencia a un formula de ingresos la hacias con datos y no numeros entonces cambie las variables para ir añadiendo los valores de ingresos por mes para poder operar. echale un vistazo y me dices porque no se muy bien si quieres que funcione así. aun así deberias de poner algunas execpciones o plantearlo orientado a objetos. También a la hora de dar el valor de ingresos_mes_1 a ingresos[0], he creado una lista y he ido adjuntando los valores que pides para los meses para que despues puedas igualar esos valores, también en un datos tenias la ultima s en mayúscula y los últimos if en vez de personas tenias pesonas sin la r, pero bueno esos son fallos normales. ya me vas contando. un saludo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
personas=int(input("cuantas personas hay en la lista?"))
meses=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]
total_ingresos=0
ingresos=[]
while personas>0:
  datos=int(input("Desea suministrar sus datos: (1=SI/2=NO "))
  if datos==1:
    nombre_persona=input("Nombre de la persona: ")
    npersonas=int(input("Numero de personas del que dependen: "))
    valor_ingreso_mes1=int(input("Valor Ingreso de mes uno: "))
    valor_ingreso_mes2=int(input("Valor Ingreso de mes segundo: "))
    valor_ingreso_mes3=int(input("Valor Ingreso de mes tercero: "))
    valor_ingreso_mes4=int(input("Valor Ingreso de mes cuarto: "))
    valor_ingreso_mes5=int(input("Valor Ingreso de mes quinto: "))
 
    ingresos.append(valor_ingreso_mes1)
    ingresos.append(valor_ingreso_mes2)
    ingresos.append(valor_ingreso_mes3)
    ingresos.append(valor_ingreso_mes4)
    ingresos.append(valor_ingreso_mes5)
 
 
    ingresos[0]=valor_ingreso_mes1
    ingresos[1]=valor_ingreso_mes2
    ingresos[2]=valor_ingreso_mes3
    ingresos[3]=valor_ingreso_mes4
    ingresos[4]=valor_ingreso_mes5
  # Evaluacion 8 o mas personas
    total_ingresos=valor_ingreso_mes1+valor_ingreso_mes2+valor_ingreso_mes3+valor_ingreso_mes4+valor_ingreso_mes5
    if personas>=8 and total_ingresos<800000:
      print ("Tu margen de probreza es muy pobre")
    if personas>=8 and total_ingresos>800000 and total_ingresos<1500000:
      print ("Tu margen de probreza es muy pobre")
    if personas>=8 and total_ingresos>1500000 and total_ingresos<2100000:
      print ("Tu margen de probreza es pobre")
    if personas>=8 and total_ingresos>2100001 and total_ingresos<3101000:
      print ("Tu margen de probreza es clase media")
    if personas>=8 and total_ingresos>=3000000:
      print ("Tu margen de probreza es clase media")
  #endif:
  elif datos==2:
    personas=-1
print("Finalizacion del programa")
  # Evaluacion entre 6 o 7 personas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar