Está en la página 1de 4

MSc.

Luis Ernesto Benavides Sellan – Ejemplos de aplicación del ciclo While en Python

Ejemplos de aplicación del ciclo While en Python

Revisaremos algunos casos de aplicación del ciclo while en Python

Ejemplo 1:

"""Crearemos un programa que permita a un docente con una clase de 27 estudiantes, sortear a quienes
se tomara en cuenta para la participación en clase, debe evitarse que un estudiante que ya participo
lo vuelva a hacer"""

import random #Importamos el modulo random que permite generar números aleatorios
random.seed() #Inicializamos el generador de números aleatorios
ListaElegidos=[] #Creamos un listado donde se guardara los estudiantes a medida que sean sorteados
while True:
elegido=random.randint(1,27)#Generar aleatorio entre 1 y 27 para obtener estudiante elegido
if (elegido not in ListaElegidos): #Preguntar si el estudiante elegido no esta en la Lista de ya elegidos
ListaElegidos.append(elegido) #Si no esta lo añado a la lista
print(f"El estudiante elegido es el Número: {elegido}") #Mostramos estudiante elegido
respuesta=input("¿Seguimos (s/n)?") #Preguntar si se quiere continuar
else:
if(len(ListaElegidos)>=27): #Preguntar si todos los estudiantes fueron ya sorteados
print("Ya no quedan más estudiantes")
break #Salir del While

if (respuesta!="s"):
print("Gracias por usar esta aplicación")
print(ListaElegidos)
break

1
MSc. Luis Ernesto Benavides Sellan – Ejemplos de aplicación del ciclo While en Python

Ejemplo 2:

#Crear un programa en Python un programa que aplicando funciones realice lo siguiente:


#Pida ingresar la calificación de examen teórico, oral y práctico en una academia de idiomas.
#El examen teórico tendrá un peso del 30%, el examen oral un peso del 25% y el examen práctico un pe
so del 45% en la calificación final.
#Todas las evaluaciones se toman sobre 100 puntos.
#Debe presentarse el status del estudiante:
# Si tiene de 90 a 100 puntos en el promedio final presentar “Excelente”,
# si tiene de 80 a 89 puntos presentar “Aprobado”;
#caso contrario presente “Reprobado”.
#La función creada debe de recibir como argumentos las tres calificaciones, calcular la nota final y
presentar el status.
#Asumiremos que en la clase hay 10 estudiantes, por lo tanto, debe repetirse el proceso para calcula
r el puntaje total y status de cada uno de ellos.
#AUTOR: GREGORIO MURILLO
def CalculaPromedio(exT,exO,exP):
tot_cal=((exT*30/100)+(exO *25/100)+(exP*45/100))

if(tot_cal>=90 and tot_cal <=100):


print("EXCELENTE: {0}".format(tot_cal))
else:
if(tot_cal>=80):
print("APROBADO: {0}".format(tot_cal))
else:
print("INSUFICIENTE: {0}".format(tot_cal))
return

while True:
try:
num_alum=int(input("Ingrese el numero de alumnos:"))
if(num_alum>0):
break
else:
print("El número de alumnos no es valido")
except:
print("El número de alumnos no es valido")

for i in range(1,num_alum+1):
print("Alumno: {0}".format(i))
ex_teo=float(input("Ingrese la calificación del examen teorico: "))
ex_oral= float(input("Ingrese la calificación del examen oral: "))
ex_prac= float(input("Ingrese la calificación del examen practico: "))
CalculaPromedio(ex_teo,ex_oral,ex_prac)

2
MSc. Luis Ernesto Benavides Sellan – Ejemplos de aplicación del ciclo While en Python

Ejemplo 3:

#Crear un programa en Python un programa que aplicando funciones realice lo siguiente:


#Pida ingresar la calificación de examen teórico, oral y práctico en una academia de idiomas.
#El examen teórico tendrá un peso del 30%, el examen oral un peso del 25% y el examen práctico un pe
so del 45% en la calificación final.
#Todas las evaluaciones se toman sobre 100 puntos.
#Debe presentarse el status del estudiante:
# Si tiene de 90 a 100 puntos en el promedio final presentar “Excelente”,
# si tiene de 80 a 89 puntos presentar “Aprobado”;
#caso contrario presente “Reprobado”.
#La función creada debe de recibir como argumentos las tres calificaciones, calcular la nota final y
presentar el status.
#Asumiremos que en la clase hay 10 estudiantes, por lo tanto, debe repetirse el proceso para calcula
r el puntaje total y status de cada uno de ellos.

print(f'{"Calificaciones de los estudiantes ":^90}\n')


def inicio():

for n in range(0,2):

print ("="*50)
nombre_estudiante = input("Ingrese el nombre del estudiante: ")

while True:
try:
examen_teorico = float(input("Ingrese su nota del examen teorico: "))
if (examen_teorico>=0 and examen_teorico<=100):
break
else:
print("La nota debe estar entre 0 y 100")
except:
print("Error en el ingreso del dato")

while True:
try:
examen_oral = float(input("Ingrese su nota del examen oral: "))
if (examen_oral>=0 and examen_oral<=100):
break
else:
print("La nota debe estar entre 0 y 100")
except:
print("Error en el ingreso del dato")

while True:
try:
examen_practico = float(input("Ingrese su nota del examen practico: "))
if (examen_practico>=0 and examen_practico<=100):
3
MSc. Luis Ernesto Benavides Sellan – Ejemplos de aplicación del ciclo While en Python

break
else:
print("La nota debe estar entre 0 y 100")
except:
print("Error en el ingreso del dato")

calculo(examen_teorico, examen_oral, examen_practico, nombre_estudiante)

def calculo(exm_teorico, exm_oral, exm_pratico, nombre):

promedio_teorico = 0
promedio_oral = 0
promedio_pratico = 0

if(exm_teorico <= 100 and exm_teorico >= 0):


promedio_teorico = exm_teorico * 0.3
else:
print ("El examen teorico no se permite una calificación mayor que 100 o menor que 0")

if(exm_oral <= 100 and exm_oral >=0):


promedio_oral = exm_oral * 0.25
else:
print ("El examen oral no se permite una calificación mayor que 100 o menor que 0")

if(exm_pratico <= 100 and exm_pratico >= 0):


promedio_pratico = exm_pratico * 0.45
else:
print ("El examen pratico no se permite una calificación mayor que 100 o menor que 0")

total = promedio_teorico + promedio_oral + promedio_pratico

print("-"*50)
print(f"Los resultados del estudiante {nombre} ")
if (total >= 90 and total <= 100):
print (f"Su promedio total es: {total}\nExelente")
elif (total >= 80 and total <= 89):
print (f"Su promedio total es: {total}\nAprobado")
else:
print (f"Su promedio total es: {total}\nReprobado")
print("-"*50)

inicio()

También podría gustarte