Advertisement
teslariu

while

Jan 21st, 2023
998
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.23 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. En Python existen solamente 3 estruct logicas
  5. 1 condicional (if) un bucle indefinido (while) y un bucle definido (for)
  6.  
  7. # while (mientras una condición es verdadera repito una serie de instrucciones)
  8.  
  9. # Script que imprime los nros de 1 a 9 => es un bucle DEFINIDO, habria que usar FOR
  10.  
  11. # Condición inicial (el primer nro a imprimir)
  12. numero = 1
  13.  
  14. while numero < 10:   # condición de ejecución del bucle
  15.    print(numero)
  16.    numero = numero + 1  # condición de incremento
  17.  
  18. # Tengo 3 fuentes de posibles pèrdidas de control o errores:
  19. # condicion inicial condicion de ejecucion y cond de incremento
  20.  
  21. # break interrumpe la ejecución de una estruc logica, GENERALMENTE un while
  22. # continue "resetea" la ejecución de una estruc logica, generalmente un while
  23. #   si encuentro un continue debo reiniciar el ciclo
  24. numero = 1
  25.  
  26. while numero < 10:   # condición de ejecución del bucle
  27.    print(numero)
  28.    break # interrumpe el ciclo, "sale" del while, solamente imprime 1
  29.    numero = numero + 1
  30.  
  31. numero = 1
  32.  
  33. while numero < 10:   # condición de ejecución del bucle
  34.    print(numero)
  35.    continue #reinicia el ciclo, no incrementa nunca numero, imprime siempre 1
  36.    numero = numero + 1
  37.  
  38.  
  39.  
  40. # Script que pide numeros enteros distintos de cero. La carga de datos
  41. # debe finalizar cuando se ingrese un cero. Luego, se deberà informar
  42. # el promedio de dichos nros (ESTO ES UN BUCLE INDEFINIDO)
  43.  
  44. # Todo problema de program implica decidir a) estruc de datos b) algoritmo
  45. numeros = []
  46.  
  47. while True:
  48.    numero = int(input("Ingrese un nro no nulo: "))
  49.    if not numero:
  50.        break
  51.    numeros.append(numero)
  52.    
  53. print(f"Promedio: {sum(numeros)/len(numeros)}")
  54.  
  55. # Reescribo el proble de temp con while True: Primer template
  56. # orientado a eventos (espero la decisión de un usuario)
  57. # Script que pide una escala y un valor la convierte (entre ºC y ºF)
  58. # Mas sencilla
  59. print("Programa de conversión de temperaturas")
  60.  
  61. while True:
  62.    print('''
  63.    Menu de opciones:
  64.    1. ºF -> ºC
  65.    2. ºC -> ºF
  66.    3. Salir
  67.    ''')
  68.    
  69.    opcion = input("Seleccione una opción: ")
  70.    
  71.    if opcion == "1":
  72.        temp = float(input("Ingrese el valor de la temperatura: "))
  73.        print(f"{temp}ºF  equivalen a {(temp-32) / 1.8:.1f}ºC")
  74.        
  75.    elif opcion == "2":
  76.        temp = float(input("Ingrese el valor de la temperatura: "))
  77.        print(f"{temp}ºC  equivalen a {temp*1.8 + 32:.1f}ºF")
  78.  
  79.    elif opcion == "3":
  80.        print("Gracias por utilizar este programa...")
  81.        break
  82.  
  83.    else:
  84.        print("Opción incorrecta")
  85.  
  86.  
  87. # Script que imprime una lista de nombres en forma vertical
  88. nombres = ["Juan", "Ana", "Tito", "Julia", "Josefa"]
  89.  
  90. i = 0
  91.  
  92. # Primera forma (debo modificar el codigo segun el tamaño de la lista)
  93. while True:
  94.    print(nombres[i])
  95.    i = i + 1
  96.    if i == 5:
  97.        break
  98. """
  99. # Segunda forma (la correcta)
  100. nombres = ["Juan", "Ana", "Tito", "Julia", "Josefa"]
  101. i = 0
  102. while i < len(nombres):
  103.     print(nombres[i])
  104.     i = i + 1
  105.    
  106. # Pero este script debería implementarse con un for: es un bucle definido
  107. nombres = ["Juan", "Ana", "Tito", "Julia", "Josefa"]
  108.  
  109. for nombre in nombres:
  110.     print(nombre)
  111.  
  112.  
  113.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement