Змея / Говнокод #14328 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
import time                                                                      
                                                                                 
def inttime():                                                                   
    return int(''.join(str(time.time()).split('.')))      
                                                                                 
def rand():                                                                      
    while True:                                                                  
        s = bin(inttime())[2:]                                                   
        for x in s:                                                              
            yield x

Этим "рандомом" заполняется клеточный автомат "Жизнь". Нечего было делать.

Запостил: x0m9k x0m9k, (Updated )

Комментарии (12) RSS

  • Если кому лень разбиратся в куче скобок и букв, то вкратце, что тут происходит:
    Берется текущий таймстамп в виде строки, удаляется хаком точка и переводится назад в один большой int.
    Потом этот int переводится в строку с двоичным его представлением, получаем кучу единичек и нулей. Потом этими единичками и нулями заполняется поле Жизни.
    Ответить
  • Какой-то не особо рандомный рандом, имхо... Цикл же очень быстро крутится, а время там не более чем с микросекундной точностью... Поди заполняет все почти одинаковым паттерном?
    Ответить
    • Одинаковом в целом, но разным в деталях. А для Жизни это много меняет.
      А time.time() возвращает время дробное, до 7 знаков вроде. И они там очень сильно различаются.
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8