Ayudenme a realizar estos programas en python sobre While, For y controles.
Respuestas a la pregunta
A continuación dos programas en Python que muestras el uso de estructuras cíclicas y condicionales. Se adjunta imagen de salida por pantalla.
Código Python de programa para contar personas por su estatura
if __name__ == '__main__':
- # Definir variables
alt = float()
c1 = int()
c2 = int()
c3 = int()
cg = int()
alt = 0
c1 = 0
c2 = 0
c3 = 0
cg = 0
continuar = "alt"
print("*********Contador de personas por estatura **********")
while True:
cg = cg+1
# Ingresar datos
print("Altura persona ",cg," (metros): ", end="")
while True:# no hay 'repetir' en python
alt = float(input())
if not (alt>=1 and alt<=2.5):
print("Entrada inválida")
if alt>=1 and alt<=2.5 or alt==0: break
# Procesr datos: Contar
if alt!=0:
if alt>=1 and alt<=1.5:
c1 = c1+1
if alt>1.5 and alt<=2:
c2 = c2+1
if alt>2 and alt<=2.5:
c3 = c3+1
if alt==0: break
- # Mostrar resultados
print("Intervalo altura (m) Cantidad de personas")
print("1 y 1.5 ",c1)
print("1.51 y 2 ",c2)
print("2 y 2.5 ",c3)
Código Python de programa que genera votación de forma aleatoria para elegir entre 4 candidatos
from random import randint
if __name__ == '__main__':
- # Definir variables
c1 = int()
c2 = int()
c3 = int()
c4 = int()
ce = int()
voto = int()
voto = 0
c1 = 0
c2 = 0
c3 = 0
c4 = 0
ce = 0
print("*********Elecciones para alcalde **********")
while True:
ce = ce+1
- # Generar votación
voto = randint(0,3)+1
# Procesar datos: Contar voto
if voto==1:
c1 = c1+1
if voto==2:
c2 = c2+1
if voto==3:
c3 = c3+1
if voto==4:
c4 = c4+1
if ce>=500: break
- # Mostrar resultados de la votación
print("Candidato Cantidad de votos")
print("1 ",c1)
print("2 ",c2)
print("3 ",c3)
print("4 ",c4)
print(" ")
print("Total votos: ",c1+c2+c3+c4)
print(" ")
- # Mostrar el ganador: el que obtuvo mayor cantidad de votos
if (c1>c2) and (c1>c3) and (c1>c4):
print("Candidato 1 es el ganador con ",c1," votos")
if (c2>c3) and (c2>c1) and (c2>c4):
print("Candidato 2 es el ganador con ",c2," votos")
if (c3>c2) and (c3>c1) and (c3>c4):
print("Candidato 3 es el ganador con ",c3," votos")
if (c4>c2) and (c4>c1) and (c4>c3):
print("Candidato 4 es el ganador con ",c4," votos")
Para saber más acerca de programas en Python con estructuras repetitivas consulte: https://brainly.lat/tarea/13103065 y https://brainly.lat/tarea/12091382
#SPJ1
Aquí, condición puede ser un literal, el valor de una variable, el resultado de una expresión o el valor devuelto por una función.
❗️ IMPORTANTE: El cuerpo del bloque while está indicado con un sangrado mayor. Dicho bloque termina cuando se encuentre la primera línea con un sangrado menor.
Veamos un ejemplo:
numero = 0
print('Tabla del 3')
while numero <= 10:
print(f'{numero * 3}')
numero += 1
print('Fin')
En el script anterior se inicializa una variable numero con el valor 0.
Seguidamente se muestra un mensaje y en la línea 3 aparece una sentencia while. En esta sentencia se comprueba si el valor de la variable numero es menor o igual a 10.
Como se evalúa a True, se muestra por pantalla el resultado de multiplicar numero por 3 y después se incrementa el valor de numero en 1.
A continuación, se debería ejecutar el código de la línea 6. Sin embargo, como hemos definido un bucle while, el flujo de ejecución del programa no continúa por la línea 6, sino que vuelve a la línea 3 y de nuevo se evalúa si la expresión numero <= 10 sigue siendo True. En esta ocasión el valor de numero es 1, por lo que la expresión da como resultado True y vuelven a ejecutarse las líneas de la sentencia while.
Esto será así hasta que numero sea igual a 11. En esa ocasión la expresión de comparación se evaluará a False y el flujo continuará, ahora sí, por la línea 6.
El resultado del script anterior es el siguiente (la tabla de multiplicar del número 3):
Tabla del 3
0
3
6
9
12
15
18
21
24
27
30
Fin
Bucle while en Python – Ejemplo típico
La sentencia while la puedes usar en multitud de ocasiones. A continuación te mostraré un escenario típico de uso de bucle while: Comprobar si existe un elemento en una secuencia.
Imagina que tienes la siguiente lista de valores [5, 1, 9, 2, 7, 4] y quieres saber si el número 2 está contenido en dicha lista. La estructura típica de bucle while para ello es como sigue:
valores = [5, 1, 9, 2, 7, 4]
encontrado = False
indice = 0
longitud = len(valores)
while not encontrado and indice < longitud:
valor = valores[indice]
if valor == 2:
encontrado = True
else:
indice += 1
if encontrado:
print(f'El número 2 ha sido encontrado en el índice {indice}')
else:
print('El número 2 no se encuentra en la lista de valores')
Como puedes observar, en el ejemplo, se utilizan 3 variables de control:
encontrado: Indica si el número 2 ha sido encontrado en la lista.
indice: Contiene el índice del elemento de la lista valores que va a ser evaluado.
longitud: Indica el número de elementos de la lista valores.
En esta ocasión, la condición de continuación del bucle while es que no se haya encontrado el número 2 y que el índice del elemento a evaluar sea menor que la longitud de la lista (es posible acceder a un elemento de una lista a partir del índice de su posición, comenzando por 0).
Por tanto, el bucle finaliza bien cuando se haya encontrado el elemento, bien cuando se haya evaluado el último elemento de la lista. Si se ha encontrado el número 2, se muestra un mensaje indicando el índice en el que está. En caso contrario, se muestra un mensaje indicando que el número 2 no se encuentra en la lista.
❗️ NOTA: El anterior es solo un ejemplo para que veas cómo funciona la sentencia while. En realidad, en Python se puede usar el operador in para comprobar de forma más eficiente si un elemento está contenido en una secuencia.
Bucle while … else …
Al igual que sucede con el bucle for, podemos alterar el flujo de ejecución del bucle while con las sentencias break y continue:
break se utiliza para finalizar y salir el bucle, por ejemplo, si se cumple alguna condición.
Por su parte, continue salta al siguiente paso de la iteración, ignorando todas las sentencias que le siguen y que forman parte del bucle.
Veamos el ejemplo de la sección anterior modificado, añadiendo la sentencia break:
valores = [5, 1, 9, 2, 7, 4]
encontrado = False
indice = 0
longitud = len(valores)
while indice < longitud:
valor = valores[indice]
if valor == 2:
encontrado = True
break
else:
indice += 1
if encontrado:
print(f'El elemento 2 ha sido encontrado en el índice {indice}')
else