Convertir a variable global
Publicado por David (1 intervención) el 27/11/2019 05:01:24
Muy buenas noches, quisieran que me ayuden en este problema que no me deja avanzar, 1.Tengo una funcion definida y quiero que la variable que le asigne dentro de ella sea visible fuera de ella.2. Obviamente que reemplaze el contenido de la misma variable creada anteriormente, como cuando le cambio el contenido a la variable.
no se si me explico bien. Espero que me entiendan y disculpen por enumerar lo anterior, ya que o vaya a sonar como exigencia.
Les envio mi codigo. Este programa consiste en crear un laberinto 10x10 con numpy y que con cada print me aparezca el personaje de acorde le vaya ingresando WASD, W=arriba, A=izquierda, etc.
El codigo la hice a mi manera ya que asi me acoplo mas.
el problema es lo ultimo como he detallado antes

Tambien adjunto una imagen, lo que imprime en la consola es como quiero que me salga, pero eso lo realice asi cambiando la variable normal. Ya he hecho para que la variable sea global pero no me sale, a lo mejor sera que lo estoy aplicando mal. Ayudenme
no se si me explico bien. Espero que me entiendan y disculpen por enumerar lo anterior, ya que o vaya a sonar como exigencia.
Les envio mi codigo. Este programa consiste en crear un laberinto 10x10 con numpy y que con cada print me aparezca el personaje de acorde le vaya ingresando WASD, W=arriba, A=izquierda, etc.
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
pared_superior = [1,1,1,1,1,3,1,1,1,1,1]
parte_interna1 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna2 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna3 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna4 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna5 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna6 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna7 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna8 = [1,0,0,0,0,0,0,0,0,0,1]
parte_interna9 = [1,0,0,0,0,0,0,0,0,0,1]
pared_inferior = [1,1,1,1,1,1,1,2,1,1,1]
prototipo = pared_superior + parte_interna1 + parte_interna2 + parte_interna3 + parte_interna4 + parte_interna5 + parte_interna6 + parte_interna7 + parte_interna8 + parte_interna9 + pared_inferior
print(len(prototipo)) #Para saber las cantidades de elemntos
print(prototipo)
#creacion de una lista string
prototipo_string1 = ""
for i in prototipo:
i = str(i)
prototipo_string1 = prototipo_string1 + i + ","
print(prototipo_string1) # Demuestra una cadena de los elemntos en string
separador = ","
prototipo_string = prototipo_string1.split(separador)
print(prototipo_string) #lista creada convertida a matriz
#lista con los elemntos convertios a las letras especificas
for n, i in enumerate(prototipo_string):
if i == "1":
prototipo_string[n] = "X"
if i == "3":
prototipo_string[n] = "S"
if i == "2":
prototipo_string[n] = "E"
if i == "0":
prototipo_string[n] = "."
print(prototipo_string)
print(len(prototipo_string))
import numpy as np
laberinto = np.array(prototipo_string) #Transformacion a una matriz
laberinto1 = np.delete(laberinto, 121) #Eliminacion del ultimo elemnto de la matriz
laberinto1 = laberinto1.reshape((11,11))
print(laberinto1)
#A partir de la matriz se convierte para elaorar el laberinto
#SE USA LABERINTO1 PARA ALGUNA MODIFICACION. LABERINTO 1 ES LA BASE
for filas in laberinto1:
str=""
for elemento in filas:
if elemento == "X":
str = str + "X"
if elemento == "S":
str = str + "S"
if elemento == "E":
str =str + "E"
if elemento == ".":
str = str + " "
print(str)
#INICIO DEL JUEGO
laberinto1[10][7] = "5"
print(laberinto1)
for filas in laberinto1:
str=""
for elemento in filas:
if elemento == "X":
str = str + "X"
if elemento == "S":
str = str + "S"
if elemento == "5":
str =str + "P"
if elemento == ".":
str = str + " "
print(str)
#POSICION DE LA VARIABLE PERSONAJE EN 5, FILA Y COLUMNA
[f,c] = np.where(laberinto1 == "5")
print(f)
print(c)
matriz_inicio = laberinto1[9:11,6:9]
print(matriz_inicio)
print("Para el movimiento del personaje 'P', use las teclas WASD" )
#FUNCION INICIO
def inicio(letra):
if letra == "W" and (f-1,c == '.'):
laberinto1[2,7] = "5"
return laberinto1
print(laberinto1)
El codigo la hice a mi manera ya que asi me acoplo mas.
el problema es lo ultimo como he detallado antes

Tambien adjunto una imagen, lo que imprime en la consola es como quiero que me salga, pero eso lo realice asi cambiando la variable normal. Ya he hecho para que la variable sea global pero no me sale, a lo mejor sera que lo estoy aplicando mal. Ayudenme
Valora esta pregunta


0