1. Python / Говнокод #14328

    −94

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 08 Января 2014

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

    • Если кому лень разбиратся в куче скобок и букв, то вкратце, что тут происходит:
      Берется текущий таймстамп в виде строки, удаляется хаком точка и переводится назад в один большой int.
      Потом этот int переводится в строку с двоичным его представлением, получаем кучу единичек и нулей. Потом этими единичками и нулями заполняется поле Жизни.
      Ответить
    • Какой-то не особо рандомный рандом, имхо... Цикл же очень быстро крутится, а время там не более чем с микросекундной точностью... Поди заполняет все почти одинаковым паттерном?
      Ответить
      • Одинаковом в целом, но разным в деталях. А для Жизни это много меняет.
        А time.time() возвращает время дробное, до 7 знаков вроде. И они там очень сильно различаются.
        Ответить
        • Ну не знаю, я бы все-таки взял что-то порандомнее, например Random из модуля random (с инициализацией через time.time()) или даже SystemRandom оттуда же.
          Ответить
          • Слишком скучно.
            Ответить
            • Это тебе на http://codegolf.stackexchange.com/, там любят всякие упоротые задачи.
              Ответить
    • bin(int(str(time.time().replace('.', ''))))

      We need to cast deeper...
      Ответить
    • Жизнь это боль
      Ответить
      • Что, калибр не совпал? Печалька.
        Ответить
        • стертор, какая у тебя жизнь плохая
          Ответить
          • Да нет, не плохая. А позвольте Вам, батенька, троллить тоньше!
            Ответить

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