Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2022, 21:43   #1
eeeffa
Новичок
Джуниор
 
Регистрация: 10.10.2022
Сообщений: 1
По умолчанию почему список не заполняется

для рендера куба мне нужно заполнить список М но он этого не делает, подскажите что нибудь
подсказать
Код:
from tkinter import*
from time import*
from math import*
b = 0
e = 0
x = 0
z = 0
y = 0
cube = 0
skan = 0
m = []
codes = []
camera_pos = [0,0,0]
poses = []
scales = []
tk = Tk()
canvas = Canvas(tk, width = 700, height=600)
canvas.pack()
def create_cube(posit,scale):
    global cube
    global x
    global z
    global y
    codes.append(posit[0]+scale[0]/2)
    codes.append(posit[1]+scale[1]/2)
    codes.append(posit[2]+scale[2]/2)
    
    codes.append(posit[0]-scale[0]/2)
    codes.append(posit[1]-scale[1]/2)
    codes.append(posit[2]-scale[2]/2)
    x = floor(((codes[0]-codes[3])//5)*((codes[1]-codes[4])//5))
    z = floor(((codes[0]-codes[3])//5)*((codes[2]-codes[5])//5))
    y = floor(((codes[1]-codes[4])//5)*((codes[2]-codes[5])//5))
    cube += 1
    
    print(codes)
def render():
    global cube
    global skan
    global codes
    global b
    global x
    global z
    global y
    if(cube >= 1):
        if(skan == 0):
            
            for i in range(x):
                m.append(floor(sqrt(2**(codes[0] - camera_pos[0] - b)+2**(codes[1] - camera_pos[1] - e)+2**(codes[2] - camera_pos[2]))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
        elif(skan == 1):
            for i in range(x):
                m.append(floor(sqrt(2**(codes[0] - camera_pos[0] - b)+2**(codes[1] - camera_pos[1] - e)+2**(codes[5] - camera_pos[2]))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
        elif(skan == 2):
            for i in range(z):
                m.append(floor(sqrt(2**(codes[0] - camera_pos[0] - b)+2**(codes[1] - camera_pos[1])+2**(codes[2] - camera_pos[2] - e))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
        elif(skan == 3):
            for i in range(z):
                m.append(floor(sqrt(2**(codes[0] - camera_pos[0] - b)+2**(codes[4] - camera_pos[1])+2**(codes[2] - camera_pos[2] - e))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
        elif(skan == 4):
            for i in range(y):
                m.append(floor(sqrt(2**(codes[0] - camera_pos[0])+2**(codes[1] - camera_pos[1] - b)+2**(codes[2] - camera_pos[2] - e))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
        elif(skan == 5):
            for i in range(y):
                m.append(floor(sqrt(2**(codes[3] - camera_pos[0])+2**(codes[1] - camera_pos[1] - b)+2**(codes[2] - camera_pos[2] - e))))
                b += 5
                if(codes[0] <= b):
                    b = 0
                    e += 5
                sleep(0.1)
            b = 0
            e = 0
            skan += 1
    print(m)
#делай проверку с b и e
        #sqrt(2**()+2**()+2**())
create_cube([1,1,1],[1,1,1])
render()
eeeffa вне форума Ответить с цитированием
Старый 10.10.2022, 22:14   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
        if(skan == 0):
            for i in range(x):
Цикл ни разу не выполняется. А какие именно значения i нужны, это вам виднее.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать раскрывающийся список html+css+jQuery как в примере. ASP.NET MVC. Список заполняется из БД helpkz Фриланс 8 24.01.2019 19:53
не работает список, не могу понять почему aidar2018 Помощь студентам 0 10.12.2018 01:56
Почему не заполняется массив vector? 1ViV1 Помощь студентам 5 17.09.2015 10:05
Почему не заполняется форма в Access? Vrednaya Помощь студентам 5 16.04.2013 18:41