Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Python
Перезагрузить страницу Помогите, пожалуйста разрбраться! (Python)
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Kingston Kingston вне форума
Любитель читать книги
 
Сообщений: 60
Сказал(а) спасибо: 6
Поблагодарили 3 раз(а) в 3 сообщениях
Регистрация: 21.10.2011
По умолчанию Помогите, пожалуйста разрбраться! (Python) - 06.02.2012, 15:25

python Код:
from Tkinter import *
n = 0
def backstr():
 n-=1
 label['text'] = ilist[n]
def nextstr():
 n+=1
 label['text'] = ilist[n]
ifile = open("manpython.txt", "rt")
ilist = ifile.readlines()
rt = Tk()
but1 = Button(rt, text = u"Next", command = nextstr)
but2 = Button(rt, text = u"Back", command = backstr)
labl = Label(text = ilist[n])
but1.pack()
but2.pack()
labl.pack()
rt.mainloop()
Ошибка: Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "zadacha1.py", line 5, in backstr
n-=1
UnboundLocalError: local variable 'n' referenced before assignment
/в чем тут проблема, переменная вроде находится в зоне видимости!
Помогите, а то я in Python совсем новичек.. :(
Ответить с цитированием
  (#2 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.02.2012, 01:04

Пишу с компа без Питона, запустить не могу. То, что вижу сразу:
1) переменная n внутри функции - это локальная переменная, не имеющая отношения к глобальной переменной с тем же именем. для того, чтобы "объяснить" функции, что n - это именно глобальная переменная, нужно написать в функции
python Код:
def backstr():
 global n
 n-=1
и т.д.
2) внутри функций используется некая переменная label, видимо имеется в виду lab1, эта переменная, соответственно тоже должна либо передаваться как параметр, либо быть объявлена как глобальная.
3) неплохо было бы как-то обрабатывать выход за границы массива ilist
Ответить с цитированием
Пользователь сказал cпасибо:
Kingston (09.02.2012)
Ads
Ответ

Метки
python

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt и Python Kingston Python 4 10.01.2012 17:34
[Ищется] Python-разработчик some_birdie Работа 0 20.10.2011 02:33
Syntax highlight для Python winamp Trolltech Qt 2 21.08.2011 17:23
где скачать python? Джо++ Вопросы начинающих программистов 3 14.05.2011 20:22
Оператор print в Python 3.x cyberix Python 2 10.03.2011 00:32
Лексический анализатор для Python Love133 Python 2 26.11.2008 05:29
Что посоветуете почитать по Python Lisenok Python 15 16.09.2008 06:59
Программист Python (2000$) youth Работа 1 14.11.2007 17:29
Python что это такое Кошмар Мысли вслух 94 14.06.2007 11:51
Дистрибутивы PHP, Python ufproject Зацените! 3 08.04.2007 21:36



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов