Python - Problema con una variable global que no se puede mantener el dato dentro de ella

   
Vista:

Problema con una variable global que no se puede mantener el dato dentro de ella

Publicado por Principe_Azul (6 intervenciones) el 03/12/2013 06:29:53
Hola!
Tengo un problema con los datos que almaceno en una variable global.
Estoy creando un juego en python para el IRC que no se necesita de la libreria PyGame,

El código es un bot para IRC que muestra palabras aleatorias y hay que ordenarlas, en una variable global dentro de una función almaceno la respuesta de esas palabras, hasta ahi todo bien ya que con un print dentro de esa funcion donde creo la variable puedo ver que queda el dato en esa variable.
El problema es este:

Cuando tiene que salir la respuesta, sale vacío, osea el valor de esa variable es "" osea nulo y yo anteriormente había puesto en una variable "Respuesta" (sin comillas) la respuesta que serian varias palabras, pero el problema se porque pasa, pero no se como solucionarlo, para que se entienda mejor voy a pegar un ejemplo de mi problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
import socket
import string
 
global variable1
global variable2
global Respuesta
 
variable1 = "Cualquier dato"
variable2 = "Ejemplo"
Respuesta = ""
 
def Juego():
    condiciones....
        Respuesta = "casa mundo pelicula amigos"
 
while 1:
    if TextoUser in Respuesta:
        s.send('PRIVMSG #Juego :Muy bien nick has acertado!\r\n')

El problema es que nunca se compara el texto que envio el usuario con el contenido de la variable global Respuesta justamente porque el script comienza desde arriba a leer todo el código y ahí es en donde deja la variable en vacía osea asi "" porque al principio del codigo vuelvo a establecer la variable Respuesta como global y su valor es como se muestra al principio osea asi ""
Por eso no se puede comparar con lo que el usuario escribio, todo el codigo esta bien, funciona bien hasta ahora, pero no puedo lograr que ese dato quede en la variable Respuesta y no se modifique a menos que sea en una condicion dentro de una funcion.
Espero que puedan ayudarme, y si me explican detalladamente cuál es la solución estaría muy agradecido, también me ayudaría mucho un código simple de ejemplo para que este problema no me suceda.
He probado varias formas, como por ej cambiando de lugar la funcion y la variable, pero no hay caso, me da error y el bot no ingresa al IRC, se cierra la consola.
Desde ya muy agradecido!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder