Tjohohan Ответов: 1

Как я могу убедиться, что это будет случайное значение rgb


Все это действительно то, о чем я задаюсь вопросом, впервые делая это без for с for и так далее, генерируя все комбинации.

"""Dont know how to check for errors numerically because of to many iterations
or how to check by derivation proof
"""

from random import randrange

"""Random rgb color combination
0<=red<=255
0<=green<=255
0<=blue<=255
Supposed to be all combinations of integers from span above
255**3
"""
def Random_Rgb():
    a = randrange(0,255**3+1,1)
    red=0
    green=0
    blue=0
    #One red cycle
    while a >= 255**2:
        a -= 255**2 
        red += 1
    #Green cycles
    while a >= 255:
        a -= 255
        green += 1
    green += (red*255)%255
    #Blue cycles
    while a >= 1:
        a -= 1
        blue += 1
    blue += (red*255*255)%255 + (green*255)%255
    return red, green, blue

red, green, blue = Random_Rgb()
print(red,green,blue)


Что я уже пробовал:

Численно: обертывание для слишком большого количества итераций
Доказательство: я едва понимаю комбинаторику: форма, в которой она изложена, сбивает меня с толку, а также слишком много текста в онлайн-руководствах я теряю след, поэтому вместо этого я возился с комбинаторикой, но я ни капельки не уверен, что код правильный

1 Ответов

Рейтинг:
9

Richard MacCutchan

Это действительно все, что вам нужно

for i in range(10):    # set loop count to however many samples you want
    red = random.randrange(256)
    green = random.randrange(256)
    blue = random.randrange(256)
    print("Colour:", red, green, blue)


Maciej Los

5ed!

Richard MacCutchan

Спасибо, но ничего особо умного.

Maciej Los

Иногда "ничего очень умного" является причиной чьей-то боли. ;)
Точка зрения зависит от места - как мы говорим в Польше. Я не знаю правильной английской версии.
[РЕДАКТИРОВАТЬ]
Я пытался сказать, что очевидные вещи не так очевидны для всех.
Я надеюсь, что это прояснит мои предыдущие заявления.

Tjohohan

Спасибо:)