¡Esta es una revisión vieja del documento!
Guías y Resueltos
Guías
Resueltos
- resueltos_guia_3.py
#Ejercicio 1 """ Escribir la expresión para saber si un número es más grande que otro. Guardarla en una variable de tipo bool e imprimirla por pantalla para ver su valor. """ numero1 = 8 numero2 = 7 es_mayor = (numero1 > numero2) print(es_mayor) #Ejercicio 2 """ Repetir el punto anterior pero con la expresión que determina que una letra NO es vocal. """ #Alternativa 1 letra = "a" es_vocal = (letra == "a") or (letra == "e") or (letra == "i") or (letra == "o") or (letra == "u") print(es_vocal) #Alternativa 2 letra="a" es_vocal = letra in "aeiou" print(es_vocal) #Ejercicio 3 """ Repetir pero para la expresión que permite saber si un número es par y menor a 10. """ numero = 8 es_par_y_menor_que_10 = (numero % 2 == 0) and (numero < 10) print(es_par_y_menor_que_10) #Ejercicio 4 """ Crear una función que dado un número, devuelva su valor absoluto. El valor absoluto de un número es el mismo número sin considerar el signo. Por ejemplo, el absoluto de 2 es 2 (|2| = 2) y el absoluto de -4 es 4 (|-4|=4). """ #Alternativa 1 def calcular_valor_absoluto(numero): if numero >= 0: print(numero) else: print(-numero) calcular_valor_absoluto(-7) #Alternativa 2 def calcular_valor_absoluto(numero): return abs(numero) print(calcular_valor_absoluto(-7)) print(calcular_valor_absoluto(5)) #Ejercicio 5 """ Crear el programa al que sea imposible ganarle en el juego de “Piedra, papel o tijera”. Cada elemento va a ser representado con una letra: R para piedra, P para papel y T para tijera. a. Hacer una función que le haga al usuario ingresar alguna de esas letras, e imprima por pantalla la jugada para ganarle. Por ejemplo: > ¡Juguemos! Ingresá piedra ( R), papel (P) o tijera (T) > P > Tijera. ¡Te gané! ATENCIÓN: Observar cómo se usa una frase inicial para darle a entender al usuario lo que tiene que hacer (en este caso ingresar alguna de las tres letras). b. Mostrar por pantalla el mensaje “NO vale” cuando el usuario ingresa una letra no válida (distinta de R, P o T). """ def jugar(): eleccion = input("¡Juguemos! Ingresá piedra (R), papel (P) o tijera (T): ") if (eleccion == "R"): print("Papel. ¡Te gané!") elif (eleccion == "P"): print("Tijera. ¡Te gané!") elif (eleccion == "T"): print("Piedra. ¡Te gané!") else: print("NO vale. Tenes que elegir alguna opcion valida!!") jugar() #Ejercicio 6 """ Escribir código que dado dos enteros, determine si la suma de ambos da menos que 100. Si la suma de ambos es menor a 100, calcular cuánto falta para llegar a 100 y mostrar por pantalla un mensaje con ese valor. Si la suma es mayor a 100, mostrar un mensaje diciendo “Llega a 100”. Extra: ¿Cómo harían para que el programa quede generalizado para cualquier límite, a elección del usuario, y no solo para 100?. """ entero1 = 500 entero2 = 9 limite = 100 suma = entero1 + entero2 if suma < limite: print(f"Para llegar a {limite} a la suma le faltan {limite - suma} unidades") else: print(f"Llega a {limite}") #Ejercicio 6 - Extra limite_elegido = int(input("Por favor, ingrese un limite entero para saber si la suma supera dicho limite: ")) entero3 = 60 entero4 = 140 suma2 = entero3 + entero4 if suma2 < limite_elegido: print(f"Para llegar a {limite_elegido} a la suma le faltan {limite_elegido - suma2} unidades") else: print(f"Llega a {limite_elegido}") #Ejercicio 7 """ Se tienen letras para representar las estaciones del año: ● V para verano ● O para otoño ● I para invierno ● P para primavera Crear una función que dada una letra, imprima por pantalla la estación del año que representa (es decir, si se ingresa V se mostrará por pantalla el mensaje “Verano”). En caso de no representar a ninguna estación mostrar un mensaje que diga “error”. Probar la función creada llamándola con A, P, O, B, V e I. """ def estacion(letra): if letra == "V": print("Verano") elif letra == "O": print("Otoño") elif letra == "I": print("Invierno") elif letra == "P": print("Primavera") else: print("Error") estacion("A") estacion("P") estacion("O") estacion("B") estacion("V") estacion("I") #Ejercicio 8 """ Se quiere hacer un programa para enseñar a unos niños a contar. Crear una función que reciba un número entero e imprima por pantalla los números del 1 hasta ese número con la estructura de control iterativa for. """ def contar_numeros_hasta(numero_entero): for i in range(1 , numero_entero + 1): print(i) contar_numeros_hasta(15) #Ejercicio 9 """ Se quiere mejorar el programa para enseñar matemáticas pensado en el ejercicio anterior. Ahora se necesita una funcionalidad que permita a los niños aprender las tablas. Crear una función que reciba un número entero e imprima por pantalla la tabla de ese número del 1 al 10. """ def calcular_tabla(numero): for i in range(1 , 11): print(f"{numero} * {i} = {i*numero}") numero_elegido = int(input("Ingrese un numero para averiguar su tabla de multiplicacion: ")) calcular_tabla(numero_elegido) #Ejercicio 10 """ Crear una función que simule un cumpleaños: que dado un entero imprima “Que los cumplas feliz” esa cantidad de veces. """ #alternativa 1 def cantar_feliz_cumpleaños(numero_entero): for i in range(1, numero_entero + 1): print("Que los cumplas feliz") cantar_feliz_cumpleaños(7) #alternativa 2 def cantar_feliz_cumpleaños_1(numero_entero): for i in range(numero_entero): print("Que los cumplas feliz") cantar_feliz_cumpleaños_1(7) #Ejercicio 11 """ En un almacén están buscando la forma de hacer los cobros más automáticamente. Para esto, se nos pide crear una función que reciba un número entero que representa lo que hay que cobrar, le pida al usuario ingresar un monto, y se vaya mostrando por pantalla cuánto falta para completar el pago. Repetir este proceso hasta que la deuda sea 0 o menor. Por ejemplo, si se recibe el monto 30: > El importe a pagar es de 30 pesos. Por favor, ingrese un monto. > 10 > El importe a pagar es de 20 pesos. Por favor, ingrese un monto. > 15 > El importe a pagar es de 5 pesos. Por favor, ingrese un monto. > 5 """ def cobrar(monto_a_cobrar): while monto_a_cobrar > 0: monto_ingresado = float(input(f"El importe a pagar es de {monto_a_cobrar} pesos. Por favor, ingrese un monto: ")) monto_a_cobrar = monto_a_cobrar - monto_ingresado print(f"Gracias por su compra. Su vuelto es {abs(monto_a_cobrar)} pesos.") cobrar(100) #Ejercicio 12 """ Escribir código que recorra los números del 1 al 20 y determine para cada uno si es par o impar, imprimiendo un mensaje por pantalla en cada caso. Es decir, el output esperado sería: > El número 1 es impar. > El número 2 es par. … > El número 20 es par. """ def determinar_si_es_par_o_impar(): for i in range(1,21): if i % 2 == 0: print(f"El numero {i} es par.") else: print(f"El numero {i} es impar.") determinar_si_es_par_o_impar() #Ejercicio 13 """ Se tiene una máquina de sacar juguetes que funciona cuando se ingresa una determinada cantidad de fichas, y se quiere hacer una función que imite ese comportamiento. a. Hacer una función que reciba un número que represente el precio de la máquina, e imprima por pantalla “Ingresá x fichas para comenzar” hasta que se hayan ingresado esa cantidad de letras F (que representan una ficha), y luego “¡A jugar!” cuando se hayan ingresado todas las fichas necesarias. Por ejemplo, si la función recibe 3, debería tener el siguiente comportamiento: > Ingresá 3 fichas para comenzar > F > Ingresá 3 fichas para comenzar > F > Ingresá 3 fichas para comenzar > B > Ingresá 3 fichas para comenzar > F > ¡A jugar! ATENCIÓN: notar cómo cuando se ingresa una letra distinta de F, esta se ignora a la hora de contar la cantidad de fichas que fueron ingresadas. b. Ahora se quiere que se vaya mostrando por pantalla, cuántas fichas FALTAN ingresar para empezar a jugar Es decir: > Ingresá 3 fichas (F) para comenzar > F > Ingresá 2 fichas (F) para comenzar > F > Ingresá 1 fichas (F) para comenzar > B > Ingresá 1 fichas (F) para comenzar > F > ¡A jugar! c. Agregar a la función el mensaje de error “Por favor solamente ingrese fichas reales (F)” cuando se recibe una letra distinta de F. """ #Ejercicio 13 - a def empezar_juego_a(cantidad_fichas_necesarias): fichas_ingresadas = 0 while (fichas_ingresadas < cantidad_fichas_necesarias): print(f"Ingresa {cantidad_fichas_necesarias} fichas para comenzar:") letra = input() if(letra == "F"): fichas_ingresadas = fichas_ingresadas + 1 print("¡A jugar!") empezar_juego_a(2) #Ejercicio 13 - b def empezar_juego_b(cantidad_fichas_necesarias): fichas_ingresadas = 0 while (fichas_ingresadas < cantidad_fichas_necesarias): print(f"Ingresa {cantidad_fichas_necesarias - fichas_ingresadas} fichas para comenzar:") letra = input() if(letra == "F"): fichas_ingresadas = fichas_ingresadas + 1 print("¡A jugar!") empezar_juego_b(5) #Ejercicio 13 - c def empezar_juego_c(cantidad_fichas_necesarias): fichas_ingresadas = 0 while (fichas_ingresadas < cantidad_fichas_necesarias): print(f"Ingresa {cantidad_fichas_necesarias - fichas_ingresadas} fichas para comenzar:") letra = input() if(letra == "F"): fichas_ingresadas = fichas_ingresadas + 1 else: print("Por favor solamente ingrese fichas reales (F)") print("¡A jugar!") empezar_juego_c(5) #Ejercicio 14 """ Crear una función que reciba un número entero e imprima los números primos entre 0 y el número ingresado. AYUDA: un número es primo cuando solamente es divisible por sí mismo y por 1, es decir que para ver si es primo hay que ver que el módulo (%) de ese número con los anteriores hasta el 1 (sin incluirlo) sea distinto de 0, o sea que no sea divisible. """ #alternativa 1 def buscar_numeros_primos(): numero_entero = int(input("Ingrese un numero entero para encontrar todos los numeros primos menores o iguales que el: ")) divisores = 0 for i in range(2, numero_entero + 1): for j in range(2, i + 1): if i % j == 0: divisores = divisores + 1 if divisores > 1: break if divisores == 1: print(i) divisores = 0 buscar_numeros_primos() #alternativa 2 def es_primo(numero): divisores=0 for i in range(1,numero+1): if numero % i == 0: divisores += 1 return divisores == 2 print(es_primo(19)) print(es_primo(50)) def imprimir_primos_hasta(numero): for j in range(numero+1): if es_primo(j) == True: print(j) imprimir_primos_hasta(20)