Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.02.2025
Сообщений: 1

Проблема с генератором

22.02.2025, 21:13. Показов 585. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хотел написать код который постепенно но в рандомных направления меняет rgb цвет объекта в pygame. Использовал для этого два генератора. Но по какой-то причине код работает корректно какоето время после чего выдает IndexError: list index out of range. Совершенно непонятно ( для меня) почему.. Пожалуйста кто разбирается растолкуйте в чем проблема.

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
from random import randint as r
 
# этот генератор поочередно возвращает два массива рандомной длинны но один с возрастающими значениями, другой с убывающими
def func():
    a=r(0,255)
    b=r(a,255)
    
    while True:
        yield list(range(a,b))
        a=b
        b=r(0,a)
        yield list(range(b,a))[::-1]
        a=b
        b=r(a,255)
 
red_iter=func()
green_iter=func()
blue_iter=func()
 
# этот генератор при каждой итерации возвращает значение для rgb колировки на основе массивов сгенерированных первым генератором. 
def shifter():
    red_counter=0
    red_range=next(red_iter)
    while True:
        yield red_range[red_counter]
        red_counter+=1
        if red_counter>len(red_range):
            red_counter=0
            red_range=next(red_iter)
            
xxx=shifter()
 
while True:
    print(next(xxx))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.02.2025, 21:13
Ответы с готовыми решениями:

Сложно ли написать генератор QR-кода?
Добрый день! Хотел бы узнать, сложно ли реализовать собственный генератор QR-кода на python ? Стоит время тратить или нет?

Генератор цифры в слово
Работаю в django , нужно превратить число, например 34 000, в словестное выражение: тридцать четыре тысячи. Стандартное...

Генератор, объединяющий последовательности
Добрый день! Изучаю тему генераторов в python и не могу разобраться с одним заданием. Суть вот в чем: нужно реализовать...

1
 Аватар для kapbepucm
1565 / 738 / 321
Регистрация: 02.05.2020
Сообщений: 1,648
06.03.2025, 11:21
На определённом этапе строка
Python Скопировано
1
red_counter+=1
делает так, что переменная red_counter уже содержит индекс, который нельзя применять в этой строке
Python Скопировано
1
yield red_range[red_counter]
, значение вышло за рамки допустимых значений- слишком большое. Например, для массива длиной в семь элементов Вы обращаетесь к восьмому.

Добавлено через 2 минуты
делайте какую-то проверку перед изменением red_counter, а не после
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2025, 11:21
Помогаю со студенческими работами здесь

Генератор аббревиатур
Помогите, пожалуйста, в решении следующей задачи Нужно создать приложение, которое генерирует расшифровку аббревиатур. Для этого...

Генератор аббревиатур 2. Как брать слова из текстового файла?
Задача с генератором аббревиатур, которая обсуждалась уже в этом форуме, только вот слова должны браться из файла и сами подбираться под...

Написать программу-генератор простых чисел
Написать программу-генератор простых чисел, в основу положить формулу: 2x²+29, где 0≤x≤28

Задача "Генератор визуально различимых паролей (базовый)", не могу понять ошибку в решении
Условие Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр,...

Продвинутый генератор паролей
Имеется код: import random small_engl_alphabet = big_engl_alphabet = numbers = a_lot_criteria = def...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер