Python - Cantidad de hombres y mujeres

 
Vista:
sin imagen de perfil

Cantidad de hombres y mujeres

Publicado por Juan (27 intervenciones) el 02/09/2023 20:46:41
Saludos a todos. Soy yo nuevamente. Pido la ayuda de ustedes sobre el código que me pidieron hacer. Por favor necesito sus aportes y criticas.
Proceso que imprima cuántos hombres y cuántas mujeres hay en un colegio. Por cada alumno se deben ingresar los siguientes datos:
Nombre del alumno
Código de sexo (0=Hombre, 1=Mujer)

El proceso se debe terminar cuando se pulsa enter en el nombre del alumno

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
nombre_alumno=input("Ingresar Nombre del Alumno")
codigo_sexo=(int(input("Ingresar codigo sexo. 0=Hombre,1=Mujer")))
 
con_hombre=0;  con_mujer=0;
 
while nombre_alumno != "":
 
	if codigo_sexo==0:
		con_hombre=con_hombre+1;
		print("Cantidad de Hombres " +str(con_hombre))
 
	else:
			con_mujer=con_mujer+1;
			print("Cantidad de Mujeres " +str(con_mujer))
 
 
print("nombre_alumno")
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

Cantidad de hombres y mujeres

Publicado por Francisco Javier (313 intervenciones) el 02/09/2023 21:42:47
Buenas dentro del while mete los input,
has puesto ; despues de con_mujer=con_mujer+1; y los ';' no son de pyrhon
puedes optimizarlo mucho más.
de momento puedes hacer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
con_hombre = 0
con_mujer = 0
 
while True:
    nombre_alumno = input("Ingresar Nombre del Alumno (deja en blanco para salir): ")
 
    if nombre_alumno == '':
        break
 
    codigo_sexo = int(input("Ingresar código de sexo (0=Hombre, 1=Mujer): "))
 
    if codigo_sexo == 0:
        con_hombre += 1
    elif codigo_sexo == 1:
        con_mujer += 1
    else:
        print("Código de sexo no válido. Debe ser 0 para Hombre o 1 para Mujer.")
 
print(f'''En el Colegio hay:
{con_hombre} --> Hombres
{con_mujer} --> Mujeres''')
Si quieres puedes escribirme por privado y te enseño 2 o 3 trucos para optimizarlo.
Salu2
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

Cantidad de hombres y mujeres

Publicado por Francisco Javier (313 intervenciones) el 02/09/2023 21:52:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
con_hombre = 0
con_mujer = 0
 
while True:
    nombre_alumno = input("Ingresar Nombre del Alumno (deja en blanco para salir): ")
 
    if not nombre_alumno:
        break
 
    codigo_sexo = int(input("Ingresar código de sexo (0=Hombre, 1=Mujer): "))
 
    if codigo_sexo == 0:
        con_hombre += 1
    elif codigo_sexo == 1:
        con_mujer += 1
    else:
        print("Código de sexo no válido. Debe ser 0 para Hombre o 1 para Mujer.")
 
print(f'''En el Colegio hay:
{con_hombre} --> Hombres
{con_mujer} --> Mujeres''')
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cantidad de hombres y mujeres

Publicado por tincopasan (1082 intervenciones) el 02/09/2023 21:53:55
bueno, hay varias cosas, en la programación existen distintos modos de lógica y no todos coinciden, pero te mostraré uno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#-*- coding: utf -8 -*-
 
con_hombre,con_mujer = 0,0
 
continuar = True
while continuar:
    nombre_alumno=input("Ingresar nombre del alumno: ")
    if nombre_alumno != "":
        codigo_sexo=input("Ingresar código sexo. 0 = Hombre, 1 = Mujer\n>> ")
        if codigo_sexo == "0":
            con_hombre += 1
        elif codigo_sexo == "1":
            con_mujer += 1
        else:
            print("Código incorrecto, vuelva a ingresar los datos")
    else:
        continuar = False
 
print(f"Cantidad de Hombres {con_hombre}")
print(f"Cantidad de Mujeres {con_mujer}")

1) veo punto y coma en algunos lados, si bien python los permite no son para nada necesarios ni obligatorios, eso es para otros lenguajes
2)es una buena práctica manejar posibles errores, en tu caso usas la función int(), si el usuario por error tipea una letra dará error y al no estar interceptado se cierra el script, como supongo todavía no usas manejo de errores simplemente no uso el int, total para el caso es lo mismo. Además si presiona otro número ¿qué debería pasar?
3)escribir mezclando mayúsculas y minúsculas, más no usar acentos es un script muy pobre, así que cambié algunos, no tengo ganas de revisar todo.
4)verás que hago básicamente lo mismo solo que cambié el lugar de algunas líneas y las condiciones del bucle, seguro lo entenderás.
5)"El proceso se debe terminar cuando se pulsa enter en el nombre del alumno" para la función input() siempre se pulsa enter, así que supongo que se refiere a una cadena vacía, como lo indica el bucle de tu código.

está todo más que entendible, así que revisa y mirá las diferencias.
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