Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2010 17:54:54

gnom
От:
Зарегистрирован: 2010-09-07
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

У меня есть код значение

 def Dom():

d=pygame.image.load("haus.png")
dom=nanos(d)
x=200
global y=100
............
while True
...
Дальше идёт глобальный цикл
while True:
Dom()
if y == 40:
break
Я хочу что бы когда у меня у в функции(в функции есть цикл whle) принимает определенное значение, то сразу происходил выход из главного цикла. Как мне у правильно обьявить глобальным и где?



Офлайн

#2 Дек. 20, 2010 18:15:54

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Я не совсем понял, что именно вам нужно. Но может так:

def dom():
while True:
y += 1
if <condition>:
return y

while True:
if dom() == 40:
break
Но мне кажется что у вас что-то не так в логике программы.
Можете объяснить детально алгоритм?



Офлайн

#3 Дек. 20, 2010 20:24:06

gnom
От:
Зарегистрирован: 2010-09-07
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

maxwell
Я не совсем понял, что именно вам нужно. Но может так:
def dom():
while True:
y += 1
if <condition>:
return y

while True:
if dom() == 40:
break
Но мне кажется что у вас что-то не так в логике программы.
Можете объяснить детально алгоритм?
У меня в программе есть оин большой цикл, перед циклом описаны фнкции для обьектов (как они двигаются и все тому подобное). У обьектов есть координаты, возникает момент когда при определенных условиях координат обьекты меняются или что то на подобие этого.и вот для того что бы возможны были следствия из изменений , в главном цикле, мне нужно обьявить прееменные(координаты) глобальными, что бы они могли действовать за пределами функции(те в главном цикле).



Офлайн

#4 Дек. 21, 2010 00:04:21

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Объявите переменную как обычно, а где нужен доступ к ней пишите global <переменная>.
Только глобальные переменные - это плохо.

Офлайн

#5 Дек. 21, 2010 00:06:52

gnom
От:
Зарегистрирован: 2010-09-07
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Ferroman
Объявите переменную как обычно, а где нужен доступ к ней пишите global <переменная>.
Только глобальные переменные - это плохо.
Без них не как



Офлайн

#6 Дек. 21, 2010 00:08:01

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Быть того не может. Мне за 3 года - ни разу не понадобились.

Офлайн

#7 Дек. 21, 2010 00:12:01

gnom
От:
Зарегистрирован: 2010-09-07
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Ferroman
Быть того не может. Мне за 3 года - ни разу не понадобились.
Ну у меня просто в функциях значения отсылаются в большой цикл и там они должны взаимодействовать, но каждая чать по разному



Офлайн

#8 Дек. 21, 2010 00:17:49

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

Значит в архитектуре беда. Вы бы выражались конкретнее, разговор бы стал более предметным.

Офлайн

#9 Дек. 21, 2010 09:14:51

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

да не, глобал норма, когда нужно быстро навалять скрипт на один-два раза и морчится с проработкой архитектуры неохота или просто нет времени.



Офлайн

#10 Дек. 21, 2010 11:15:23

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

Как обьявить глобальную переменную?

evilempirer, гм. А потом совокупляться при отладке и/или доработке? Через годик так.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version