-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ahorcado que funciona SIN COMENTAR.py
169 lines (124 loc) · 3.92 KB
/
Ahorcado que funciona SIN COMENTAR.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#!/usr/bin/env python
# coding: utf-8
# In[ ]:
from random import choice
print("\n")
print("¡Bienvenido al juego del Ahorcado!\n")
print("Intenta adivinar la palabra oculta antes de que se acaben tus vidas.\n")
print("Tienes 6 vidas.\n")
print("¡Buena suerte!\n")
palabras = ['adalab', 'sql', 'analytics', 'data']
letras_correctas = []
letras_incorrectas = []
intentos = 6
aciertos = 0
juego_terminado = False
def elegir_palabra(lista_palabras):
palabra_elegida = choice(lista_palabras)
letras_de_palabra = len(set(palabra_elegida))
return palabra_elegida, letras_de_palabra
def pedir_letra():
letra_elegida = ''
es_valida = False
abecedario = "abcdefghijklmnñopqrstuvwyz"
while not es_valida:
letra_elegida = input("Elige una letra: ").lower()
if letra_elegida in abecedario and len(letra_elegida) == 1:
es_valida = True
else:
print("Solo puedes introducir letras.")
return letra_elegida
def mostrar_nuevo_tablero(palabra_elegida):
lista_oculta = []
for l in palabra_elegida:
if l in letras_correctas:
lista_oculta.append(l)
else:
lista_oculta.append('-')
print(' '.join(lista_oculta))
if intentos == 6:
print(" ___")
print(" | |")
print(" |")
print(" |")
print(" |")
print("_|_")
elif intentos == 5:
print(" ___")
print(" | |")
print(" | O")
print(" |")
print(" |")
print("_|_")
elif intentos == 4:
print(" ___")
print(" | |")
print(" | O")
print(" | |")
print(" |")
print("_|_")
elif intentos == 3:
print(" ___")
print(" | |")
print(" | O")
print(" | /|")
print(" |")
print("_|_")
elif intentos == 2:
print(" ___")
print(" | |")
print(" | O")
print(" | /|\\")
print(" |")
print("_|_")
elif intentos == 1:
print(" ___")
print(" | |")
print(" | O")
print(" | /|\\")
print(" | /")
print("_|_")
def comprobar_letra(letra_elegida, palabra_oculta, vidas, aciertos, letras_de_palabra):
fin = False
if letra_elegida in palabra_oculta and letra_elegida not in letras_correctas:
letras_correctas.append(letra_elegida)
aciertos += 1
print('¡Muy bien, has acertado una letra, sigue así!')
elif letra_elegida in letras_incorrectas or letra_elegida in letras_correctas:
print("Ya introdujiste esta letra.")
else:
print(f"Vaya la letra introducida no es correcta, tienes {vidas - 1} vidas.")
letras_incorrectas.append(letra_elegida)
vidas -= 1
if vidas == 0:
fin = perder()
elif aciertos == letras_de_palabra:
fin = ganar(palabra_oculta)
return vidas, fin, aciertos
def perder():
print(" ___")
print(" | |")
print(" | O")
print(" | /|\\")
print(" | / \\")
print("_|_")
print("Te has quedado sin intentos.")
print("La palabra oculta era " + palabra)
print("Si quires jugar otra vez, dale al play.")
return True
def ganar(palabra_descubierta):
mostrar_nuevo_tablero(palabra_descubierta)
print("¡¡¡Enhorabuena, has encontrado la palabra oculta!!!")
return True
palabra, letras_de_palabra = elegir_palabra(palabras)
while not juego_terminado:
print('\n' + '*' * 20 + '\n')
mostrar_nuevo_tablero(palabra)
print('\n')
print('Letras incorrectas: ' + '-'.join(letras_incorrectas))
print(f'Vidas: {intentos}')
print('\n' + '*' * 20 + '\n')
letra = pedir_letra()
intentos, terminado, aciertos = comprobar_letra(letra, palabra, intentos, aciertos, letras_de_palabra)
juego_terminado = terminado
# In[ ]: