- Adivinar el número
- Ciclos
- Condicionales
- Operadores lógicos
- Invertir cadena de texto
- Contar vocales en un texto dado
#!/usr/local/bin/python
# _*_ coding: utf-8 _*_
def contar_vocales(palabra: str) -> tuple[int, dict[str, int]]:
"""
Cuenta la cantidad de vocales en una palabra.
Parameters:
-----------
palabra : str
Palabra de la cual se desea contar las vocales.
Returns:
--------
tuple[0] : int
Cantidad de vocales en la palabra.
tuple[1] : dict[str, int]
Vocal por cantidad de apariciones
formato clave-valor de diccionario
Example:
--------
palabra = "Hola"
contar_vocales(palabra)
"""
vocales = "aeiouAEIOU"
contador = 0
result: dict[str, int] = {}
for letra in vocales:
if letra in palabra:
result[letra] = palabra.count(letra)
contador += result.get(letra)
return contador, result
if __name__ == "__main__":
result: tuple = contar_vocales(input("Ingrese la palabra:\\n>>> "))
print("La palabra tiene un total de %s vocales\\nSe reparten de la siguiente manera:\\n%s\\n%s" % (result[0],f"{'-'*35}", "\\n".join([f'{k}: {val}' for k, val in result[1].items() ] ) ))
#!/usr/local/bin/python
#-*- coding: utf-8 -*-
from typing import Callable
def invertir_cadena_v1(cadena: str) -> str:
"""
Invierte una cadena de texto.
Parameters:
-----------
cadena: str
Cadena de texto a invertir.
Returns:
--------
str
Cadena de texto invertida.
Example:
--------
invertir_cadena("Hola")
aloH
"""
return cadena[::-1]
invertir_cadena_v2: Callable[[str], str] = lambda cadena: cadena[::-1]
if __name__ == "__main__":
print(invertir_cadena_v1("Hola"))
print(invertir_cadena_v2("Hola"))
print(invertir_cadena_v1("Python"))
print(invertir_cadena_v2("Python"))
print(invertir_cadena_v1("¡Hola, mundo!"))
print(invertir_cadena_v2("¡Hola, mundo!"))
from pseudorandom import generador_pseudo_aleatorio
def adivina_el_numero(seed: int) -> None:
"""
Juego para adivinar un número generado aleatoriamente.
Parameters:
-----------
seed: int
Semilla para el generador pseudo-ale
Returns:
--------
None
Example:
--------
adivina_el_numero()
Adivina el número (entre 1 y 10): 5
Más bajo
Adivina el número (entre 1 y 10): 8
Más alto
Adivina el número (entre 1 y 10): 266074466564
Más bajo
Adivina el número (entre 1 y 10): 266074466
¡Correcto!
"""
numero_secreto: int = generador_pseudo_aleatorio(seed=seed)
intento = None
while intento != numero_secreto:
intento = int(input("Adivina el número: "))
if intento < numero_secreto:
print("Más alto")
elif intento > numero_secreto:
print("Más bajo")
print("¡Correcto!")
if __name__ == "__main__":
adivina_el_numero(45)
def tabla_multiplicar(numero: int) -> None:
"""
Imprime la tabla de multiplicar del número ingresado.
Parameters:
-----------
numero : int
Número entero del cual se desea conocer la tabla de multiplicar.
Returns:
--------
None
Example:
--------
numero = 7
tabla_multiplicar(numero)
"""
for i in range(1, 11): # Tabla de multiplicar del 1 al 10
print(f"{numero} x {i:2} = {numero * i:2}") # f-string {i:2} para alinear a la derecha
if __name__ == "__main__":
try:
i = int(input("Ingrese la tabla que desea consultar:\\n> "))
tabla_multiplicar(i)
except:
print("Ingresaste algo que no es un número entero...")
finally:
print("¡Hasta luego!")