• Как упростить код на Python?

    hint000
    @hint000
    у админа три руки
    Добавим малюсенькую капельку математики. Эту строку
    N = (num1 + num2) // 2
    заменить на:
    coin = random.randint(1, 2)
    if coin == 1:
        N=N1+(2**(ceil(log2(N2-N1))-1)-1)
    if coin == 2:
        N=N2-(2**(ceil(log2(N2-N1))-1)-1)

    В самом неудачном случае количество попыток не увеличится, а в среднем будет угадывать за меньшее количесво попыток.
    spoiler
    Код подбрасывания монетки цельнотянут с SO.
    Ответ написан
    1 комментарий
  • Проекты для начинающих в Python?

    @mr_diablol
    Если для отработки синтаксиса:

    1) Викторину простенькую. Она затрагивает многие аспекты (переменные, if, словари/списки, циклы и т.д.)
    2) Бота в TG. Там можно зацепить сразу какие-то доп. функции типо .lower или какие-нибудь модули типо random, datetime, os)
    3) Какой-нибудь простенький "шифровщик"/"дешифровщик".
    4) Любая из вышеперечисленных, но уже с БД (начните с SQLite3)

    Далее усложняйте.

    А так по Python есть много книжек на эту тему, например "Делаем игры на Python". Про youtube вообще молчу - вбейте, что интересно, и скорее всего кто-то уже сделал гайд по проекту
    Ответ написан
    Комментировать
  • Проекты для начинающих в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Зависит от уровня обучения. На этапе чтения учебника для начинающих практиковаться надо с примерами из учебника. Потом писать простые консольные программы. После стоит попробовать свои силы в программах с графическим интерфейсом и сетевым ПО. Далее переходить к осваиванию фреймворков и сопутствующих технологий. На этом этапе можно начинать пилить полноценные пет-проекты, идеи для которых можно брать из того, чем пользуетесь ежедневно.
    Ответ написан
    Комментировать
  • Чем отличаются условные операторы в Python?

    Vindicar
    @Vindicar
    RTFM!
    Поведение кода НЕ одинаковое.
    Если ты ввёл неправильное число, то первый код только выведет "конец игры", тогда как второй напишет "не угадал", а потом "конец игры". Что требуется по условию задачи - тебе виднее.

    А вообще я бы сказал, что правильно сделать иначе. У тебя два if подряд с противположными условиями - тут просится if-else.
    fathers_number = 5
    sons_number = int(input("Какое число я загадал? "))
    if sons_number == fathers_number:
        print("Угадал!")
    else:
        print("Не угадал!")
    
    print("Конец игры")
    Ответ написан
    1 комментарий