Tengo un problema al usar or
Publicado por Alejandro (3 intervenciones) el 27/07/2019 23:43:27
Hola, estoy aprendiendo python y he pensado que seria buena idea hacer una aventura conversacional con lo que voy aprendiendo, todo funciona bien, cuando se introduce la acción correcta el juego avanza, pero al poner mas de una opción en los if con or ponga la acción que ponga siempre me salta error, ¿alguien sabe porque? soy muy nuevo asique es probable que sea un error muy sencillo.
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
inventario = []
inv = inventario
def p():
print("Estas en una pequeña habitacion, con una gran puerta metalica en la pared norte y un cofre cerca de ti")
entr=input()
while entr != "abrir puerta" or "abrir cofre":
print("error")
p2()
if entr == "abrir puerta" and inv == ["llave"]:
print("abres la puerta")
h()
if entr == "abrir puerta" and inv != ["llave"]:
print("necesitas la llave")
p2()
if entr == "abrir cofre":
inv = ["llave"]
def p2():
entr=input()
while entr!="abrir puerta" or "abrir cofre":
print("error")
p2()
if entr=="abrir cofre":
inv=["llave"]
if entr == "abrir puerta" and inv == ["llave"]:
print("abres la puerta")
h()
if entr == "abrir puerta" and inv != ["llave"]:
print("necesitas la llave")
p2()
def h():
print("Al abrir la puerta entras en una gran sala, te encuentras en frente de ti a un ogro, puedes ver una espada en el suelo")
entr=input()
while entr != "atacar ogro" or "coger espada" or "recoger espada":
print("error")
h2()
if entr == "atacar ogro" and inv == ["llave","espada"]:
print("El ogro cae muerto al suelo")
if entr == "atacar ogro" and inv == ["llave"]:
print("no es buena idea golpear a un ogro sin armas")
h2
if entr == "coger espada" or "recoger espada":
inv = ["llave","espada"]
def h2():
entr=input()
while entr != "atacar ogro" or "coger espada" or "recoger espada":
print("error")
h2()
if entr == "atacar ogro" and inv == ["llave","espada"]:
print("El ogro cae muerto al suelo")
if entr == "atacar ogro" and inv == ["llave"]:
print("no es buena idea golpear a un ogro sin armas")
h2
if entr == "coger espada" or "recoger espada":
inv = ["llave","espada"]
p()
Valora esta pregunta


0