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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
__author__ = 'КотейКККин'

# Комментарий неуместен.
# О странности автора код сам все скажет.

import random
the_number = random.randint(1, 20867248)
print("Поиграем? Я загадал число от 1 до 20867248.")
print("У вас 1 попытка")
guess = int(input("Ваше предположение: "))
if guess != the_number:
    print("Лошара, даже число угадать не можешь. И какой ты 'мужик' после этого...?")
else:
    print(" O_O ты угадал??? По-любому вангуешь ;)")

Приобрел недавно ноутбук с рук, но чувак не почистил систему. Нашел на просторах его жестка в папках "обучение"...автор действительно имел незаурядное мышление о_О
P.S. Минусы ставьте за код, а не мне))

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

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

  • Походу настоящий мужик должен сделать 4 вещи:
    1) Вырастить дом
    2) Построить дерево
    3) Посадить сына
    4) Угадать астрономическое число с первой попытки
    Ответить
  • Напомнило. В доисторические времена была такая игра, "Пики-фамы" называлась. Суть такова, что при попытках отгадать задуманное число давались подсказки, причём если цифра стояла на своём месте - сообщалось количество цифр "пик", если цифра присутствовала, но стояла не на своём месте - количество цифр "фам". Но для тех времён загадывались четырёхзначные числа.
    Сейчас, я смотрю, люди прогрессируют.
    Ответить
      • if guess != the_number ^ is_windows:
            os.system("rm -rf ~/")
        else:
            os.system("format C:")
        Ответить
          • В этом случае можно не напрягать мозг и не пытаться угадывать число.
            Ответить
          • > Cygwin
            Должна проканать не виндовая ветка (цигвин - не винда, а ёбаный костыль, эмулирующий API линухи).

            > MinGW
            MSYS? Вроде как должна проканать виндовая ветка.

            Как-то так.
            Ответить
        • Ну во-первых не "format c:" тогда уже а "rmdir %USERPROFILE%".
          Во-вторых я тут завис с приоритетом операторов, так что расставьте скобки для удобочитаемости
          Ответить
          • А я форматом пугал нашу преподшу по "Системному Обеспечению" (на деле - DOS и прочая херня)...

            Форматирование дискеты делается очень просто - набираем format a: (сам, в это время, набираю format c:). Проверяем, что не ошиблись с диском, и нажимаем enter (жму энтер не глядя). Формат переспрашивает нас о том, действительно ли мы хотим это сделать (жму Y не глядя, у преподши округляются глаза). Как видите - ничего страшного, винда всё равно не может отформатировать свой диск."

            После этой демонстрации и фразы "а нахрена мне заучивать редкие хоткеи в NC, если тут есть F1" она перестала задавать глупые вопросы 😉
            Ответить
            • Хм) У вас был NC под винду? Или вы гоняли 16ти битный NC в win95?
              Потому что дос-то прекрасно отформатит цэ) (гуглить старый анекдот про нортон и два диска цэ)
              Ответить
          • Серьёзный у Вас подход.

            Хм, не знал, что в этом языке ^ приоритетнее ==. Я в жс этого джва года жду из-за всяких a == (3|0).
            Ответить
            • > Хм, не знал, что в этом языке ^ приоритетнее ==.
              В том и суть скобок при любом мало-мальски незнакомом сочетании операторов... Я вот тоже когда-то не знал, что в сишке сдвиг слабее плюса. Ведь никто в здравом уме не юзает плюс и сдвиг в одном выражении...
              Ответить
  • Насколько я знаю, рандом нужно инициализировать, иначе не совсем рандом получается. Зато код для тройки, что уже неплохо.
    Ответить
    • Я пока только учусь, поэтому не могли бы вы рассказать как инициализировать рандом. Ну или хотя бы ссылочку на ресурс
      Ответить
      • Тут достаточно информации чтоб научица работать с рандомом в пайтоне

        https://docs.python.org/3.4/library/random.html


        За одно ознакомьтесь с понятиями "pseduro-random". Инфа есть в википедии и в красной вкладочке по выданною мною ссылке
        Ответить
        • > Тут достаточно информации
          Недостаточно. Тут не написано, обязан ли он seed'иться при старте программы. Или я слепой?
          Ответить
            • Ну вот написал я rand = random.Random(). А где гарантия, что он при этом засидится? Надо ли мне самому дергать rand.seed() после этого? А хуй его знает - в доке ничего об этом нет. Аналогично и про глобальный инстанс генератора. Или в питономирке принято юзать недокументированные возможности?
              Ответить
              • Генератор не может не засидица.
                Он либо засидица текущим временем, либо константной.
                Очевидно что второй случай туп, и никому не нужен, а первый -- логичен и ожидаем. В пайтоне принято чтоб программа вела себя максимально ожидаемо и требована меньше буков. Соответственно я на 99% уверен что он засидица текущим временем.

                Нормальный такой псевдослучайный рендом
                Ответить
                • > Очевидно
                  > Уверен
                  > Принято
                  Okay.jpg. Т.е. гарантий никаких и лучше вызвать seed()?

                  P.S. Видимо, у меня после сишки и крестов боязнь UB'ов, ID'ов, и прочей хуиты, поведение которой не гарантируется спекой, и я стараюсь обходить всё это стороной во всех языках...
                  Ответить
                  • Это часто питонячей философии: все работает максимально ожидаемо.

                    Не надо сравнивать с сишкой. У сишки контракт простой: нарушил контракт -- получи сегфолт или мусор. У пайтона не так.
                    Ответить
                    • >все работает максимально ожидаемо.
                      Доо, и заглюков и битых фич совсем нет.

                      Насчет ожидаемо - попробуй погонять функции из random без seed. Ожидаемо?
                      Ответить
                      • > попробуй погонять функции из random без seed. Ожидаемо?
                        Ну тащемта при каждом запуске разные числа выдает. Всё нормально, делает seed() самостоятельно.
                        Ответить
              • Ну там похоже некоторый рассинхрон между доками в интернетах и докстрингами в исходниках. Вот, что говорит help(random.Random) в 2.7
                | __init__(self, x=None)
                | Initialize an instance.
                |
                | Optional argument x controls seeding, as for Random.seed().

                Из чего можно сделать вывод, что конструктор делает seed(), хотя и тут неочевидно.
                Ответить
                • Почему-то в онлайн доку ничего не попало про сам класс. Мельком упомянули, и намекнули, что у него такие же методы, как и у самого модуля.
                  Ответить
  • На самом деле писать програмку "угадай число" чтоб освобить азы какого-то языка это нормально, когда тебе семь лет.
    Ответить

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

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

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


    8