Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.04.2020
Сообщений: 17

IndexError: list index out of range

09.04.2020, 22:18. Показов 841. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
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
from tkinter import*
from random import randint
 
def make_matrix(z,width,height):
    h=[]
    for i in range(height):
        d=[]
        for j in range(width):
                d=d+[0]
        h=h+[d]
    for i in range(z):
        y=randint(0,len(h)-1)
        x=randint(0,len(h[0])-1)
        h[y][x]=1
    return h
m=make_matrix(5,6,7)
 
def open_cell(y,x):
    if y>=len(w) or y<0 or x>len(w) or x<0: #Здесь ошибка
        return
    else:
        if w[y][x]['text']==' ':
            print(y,x)
            w[y][x]['text']=count(y,x)
            if count(y,x)==0:
                open_cell(y,x+1)
                open_cell(y,x-1)
                open_cell(y+1,x)
                open_cell(y-1,x)
                open_cell(y+1,x+1)
                open_cell(y-1,x-1)
                open_cell(y-1,x+1)
                open_cell(y+1,x-1)
#Найти ошибку if y>=len(w) or y<0 or x>=len(w) or x<0:(в x)
 
def get(y,x):
    if y>=len(m) or x>=len(m[0]) or y<0 or x<0:
        return 0
    else:
        return m[y][x]
 
def count(y,x):
    return get(y,x+1)+\
           get(y,x-1)+\
           get(y+1,x)+\
           get(y-1,x)+\
           get(y+1,x+1)+\
           get(y-1,x-1)+\
           get(y-1,x+1)+\
           get(y+1,x-1)
           
 
def create_sapor(y,x,b):
    def sapor():
        if m[y][x]==1:
            b['text']='*'
        else:
            open_cell(y,x)
    return sapor
 
t=Tk()
w=[]
for y in range(len(m)):
    n=[]
    for x in range(len(m[0])):
        b=Button(text=' ')
        b.grid(row=y,column=x)
        b['command']=create_sapor(y,x,b)
        n=n+[b]
    w=w+[n]
print(w)
Добавлено через 8 минут
Вот сама ошибка
Python
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
from tkinter import*
from random import randint
 
def make_matrix(z,width,height):
    h=[]
    for i in range(height):
        d=[]
        for j in range(width):
                d=d+[0]
        h=h+[d]
    for i in range(z):
        y=randint(0,len(h)-1)
        x=randint(0,len(h[0])-1)
        h[y][x]=1
    return h
m=make_matrix(5,6,7)
 
def open_cell(y,x):
    if y>=len(w) or y<0 or x>len(w) or x<0:
        return
    else:
        if w[y][x]['text']==' ':
            print(y,x)
            w[y][x]['text']=count(y,x)
            if count(y,x)==0:
                open_cell(y,x+1)
                open_cell(y,x-1)
                open_cell(y+1,x)
                open_cell(y-1,x)
                open_cell(y+1,x+1)
                open_cell(y-1,x-1)
                open_cell(y-1,x+1)
                open_cell(y+1,x-1)
#Найти ошибку if y>=len(w) or y<0 or x>=len(w) or x<0:(в x)
 
def get(y,x):
    if y>=len(m) or x>=len(m[0]) or y<0 or x<0:
        return 0
    else:
        return m[y][x]
 
def count(y,x):
    return get(y,x+1)+\
           get(y,x-1)+\
           get(y+1,x)+\
           get(y-1,x)+\
           get(y+1,x+1)+\
           get(y-1,x-1)+\
           get(y-1,x+1)+\
           get(y+1,x-1)
           
 
def create_sapor(y,x,b):
    def sapor():
        if m[y][x]==1:
            b['text']='*'
        else:
            open_cell(y,x)
    return sapor
 
t=Tk()
w=[]
for y in range(len(m)):
    n=[]
    for x in range(len(m[0])):
        b=Button(text=' ')
        b.grid(row=y,column=x)
        b['command']=create_sapor(y,x,b)
        n=n+[b]
    w=w+[n]
print(w)
Добавлено через 34 секунды
Не то скинул..
Python
1
2
3
4
5
6
7
8
9
10
11
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:\Users\User\Desktopапер.py", line 58, in sapor
    open_cell(y,x)
  File "C:\Users\User\Desktopапер.py", line 26, in open_cell
    open_cell(y,x+1)
  File "C:\Users\User\Desktopапер.py", line 22, in open_cell
    if w[y][x]['text']==' ':
IndexError: list index out of range
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2020, 22:18
Ответы с готовыми решениями:

IndexError: list index out of range
Уважаемые господа форумчане, начал изучать пайтон, и вот что не понятно: fileWords = open(&quot;words.txt&quot;,'r') while 1: ...

IndexError: list index out of range
n,k=int(input()),int(input()) a= l= for r in range(1,n+1): a.append(r) for _ in range(k*2): l.append(int(input())) for g...

IndexError: list index out of range
a1= a2= a3= a4= r= for i in range(0, len(r)): u1=r u2=r u3=r print(u1, u2, u3)

2
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
09.04.2020, 23:30
Daniel228, Мой отладчик не обнаруживает ошибки, но Ваш код выдает бред
Кликните здесь для просмотра всего текста
Python
1
[[<tkinter.Button object .!button>, <tkinter.Button object .!button2>, <tkinter.Button object .!button3>, <tkinter.Button object .!button4>, <tkinter.Button object .!button5>, <tkinter.Button object .!button6>], [<tkinter.Button object .!button7>, <tkinter.Button object .!button8>, <tkinter.Button object .!button9>, <tkinter.Button object .!button10>, <tkinter.Button object .!button11>, <tkinter.Button object .!button12>], [<tkinter.Button object .!button13>, <tkinter.Button object .!button14>, <tkinter.Button object .!button15>, <tkinter.Button object .!button16>, <tkinter.Button object .!button17>, <tkinter.Button object .!button18>], [<tkinter.Button object .!button19>, <tkinter.Button object .!button20>, <tkinter.Button object .!button21>, <tkinter.Button object .!button22>, <tkinter.Button object .!button23>, <tkinter.Button object .!button24>], [<tkinter.Button object .!button25>, <tkinter.Button object .!button26>, <tkinter.Button object .!button27>, <tkinter.Button object .!button28>, <tkinter.Button object .!button29>, <tkinter.Button object .!button30>], [<tkinter.Button object .!button31>, <tkinter.Button object .!button32>, <tkinter.Button object .!button33>, <tkinter.Button object .!button34>, <tkinter.Button object .!button35>, <tkinter.Button object .!button36>], [<tkinter.Button object .!button37>, <tkinter.Button object .!button38>, <tkinter.Button object .!button39>, <tkinter.Button object .!button40>, <tkinter.Button object .!button41>, <tkinter.Button object .!button42>]]
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
10.04.2020, 08:03
Цитата Сообщение от Daniel228 Посмотреть сообщение
if y>=len(w) or y<0 or x>len(w) or x<0: #Здесь ошибка
Используйте numpy для матриц.

Исправил ошибку:
Python
1
2
3
4
if not (0 < x < len(w):
    return
if not (0 < y < len(w[0])): #!
    return
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2020, 08:03
Помогаю со студенческими работами здесь

IndexError: list index out of range
Почему-то выводится ошибка. Хотя длину списка я не изменяю. a=list(map(int,input().split())) b= a.sort() for i in...

IndexError: list index out of range
Добрый день, столкнулся с такой проблемой: создавал телеграм-бота, и при вводе боту команды &quot;/add&quot;, в консоли вылезает ошибка:...

IndexError: list index out of range
Задача : определить, какое слово зашифровано(состоит из тех же букв, количество символов то же). a= a=raw_input() b=raw_input() ...

IndexError: list index out of range
Кто знает как исправить? Ошибка на 3 строке IndexError: list index out of range import sys import math a = float(sys.argv) b =...

IndexError: list index out of range
помогите, пожалуйста. в 25 и 32 строчках выдаёт ошибку: IndexError: list index out of range def numbers_factory(number): s = ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru