import random
import string
def printIntro(fileName):
"""abrir el archivo y leer el archivo de bienvenida"""
with open(fileName) as f:
print(f.read())
def inputSecret():
"""Solicita al usuario ingresar la palabra secreta"""
return input("Ingrese la palabra o frase oculta: ").lower()
def loadWords(fileName):
"""Carga las palabras desde un archivo"""
with open(fileName) as f:
return f.read().strip()
def countWords(cadena, separador=','):
"""Cuenta las palabras en una cadena separadas por un
carácter"""
return len(cadena.split(separador))
def pickWord(cadena, separador=','):
"""Selecciona una palabra al azar de una cadena"""
palabras = cadena.split(separador) #lista de palabras
separadas por coma
return random.choice(palabras).strip().lower() #Escoje
palabra aleatoria y le quita los espacios al inicio y al final
del texto y la convierte a minusculas
def obtenerParteAdivinada(palabraSecreta, letrasIntentadas):
"""Muestra la palabra con guiones y letras adivinadas"""
resultado = []
for letra in palabraSecreta: # Recorrer letras de la palabra
secreta
if letra in letrasIntentadas or letra == ' ': # Verificar
si la letra esta en la lista de letras intentadas o es un espacio
resultado.append(letra)
else:
resultado.append('_')
return ' '.join(resultado)
def obtenerLetrasDisponibles(letrasIntentadas):
"""Retorna las letras del alfabeto no usadas"""
disponibles = [] #lista de letras del abededario disponibles
for letra in string.ascii_lowercase: #recorrer letra por
letra del abedecedario
if letra not in letrasIntentadas: #Condicional para
verificar si el usuario ya intento esa letra
disponibles.append(letra) #Agregar letra a la lista
de letras disponibles
return ' '.join(disponibles) #Separas cada letra con un
espacio
def verificarLetraIngresada(letra, letrasIntentadas):
"""Verifica si la letra ya fue ingresada"""
return letra in letrasIntentadas
def palabraAdivinada(palabraSecreta, letrasIntentadas):
"""Determina si todas las letras fueron adivinadas"""
for letra in palabraSecreta:
if letra != ' ' and letra not in letrasIntentadas:
return False
return True