Что выведет программа с кодом выше?🤔⬆️
Anonymous Quiz
10%
False
0%
2
10%
P
0%
y
10%
True
0%
121
15%
3
15%
...Error:...
0%
40
40%
Пустой вывод
👍3🕊2🤨2
Всем привет!❄️ Поздравляю вас с Новым годом!
Желаю побыстрее приобрести всего, чего не хватало в прошлом году! Заниматься любимым делом, здоровья и счастья! Новый год - это лучшее время для начинания чего-то нового и интересного, если начать заниматься чем-то, до чего никак не доходили руки, но очень хотелось, то пора начинать и на следующий год будет большой результат не будет чувства сожаления!
Желаю побыстрее приобрести всего, чего не хватало в прошлом году! Заниматься любимым делом, здоровья и счастья! Новый год - это лучшее время для начинания чего-то нового и интересного, если начать заниматься чем-то, до чего никак не доходили руки, но очень хотелось, то пора начинать и на следующий год будет большой результат не будет чувства сожаления!
👏8🎄2☃1👍1🔥1
Какое число я загадал?
Сколько вопросов с ответом 'больше' или 'меньше' нужно задать, чтобы гарантированно ответить правильно?
Например, возьмём числа от 1 до 200, для ответа нужно найти двоичный логарифм максимального числа в диапазоне, у нас максимальное число - 200. Двоичный логарифм 200 - 8
Простое объяснение
Двоичный логарифм числа - это степень, в которую нужно умножить 2, чтобы получить первое число большее или равное большему в диапазоне.
Как это работает?
Пусть, собеседник загадал число 154, 200 делим на 2, получаем 100, собеседник отвечает 'больше', значит число в диапазоне от 100 до 200(всего 100 чисел), 100 делим на 2, будет 50, 100 + 50 = 150, собеседник отвечает 'больше', значит число находится в диапазоне от 150 до 200(всего 50 чисел), 50 разделить на 2 = 25, 150 + 25 = 175, человек говорит 'меньше', это означает, что число в диапазоне от 150 до 175(всего 25 чисел), 25 делим на 2 = 12(округляя в меньшую сторону), 150 + 12 = 162, человек говорит меньше, значит число в диапазоне от 150 до 162, 12 / 2 = 6, от 150 до 156 6 чисел, слышим 'меньше', 6 / 2 = 3, после числа 153, слышим 'больше', значит загадано 154 или 155, 3/2 = 1(округляя в меньшую сторону), 153 + 1 = 154, 154 оказывается загаданным числом.
Сколько вопросов с ответом 'больше' или 'меньше' нужно задать, чтобы гарантированно ответить правильно?
Например, возьмём числа от 1 до 200, для ответа нужно найти двоичный логарифм максимального числа в диапазоне, у нас максимальное число - 200. Двоичный логарифм 200 - 8
Простое объяснение
Двоичный логарифм числа - это степень, в которую нужно умножить 2, чтобы получить первое число большее или равное большему в диапазоне.
Как это работает?
Пусть, собеседник загадал число 154, 200 делим на 2, получаем 100, собеседник отвечает 'больше', значит число в диапазоне от 100 до 200(всего 100 чисел), 100 делим на 2, будет 50, 100 + 50 = 150, собеседник отвечает 'больше', значит число находится в диапазоне от 150 до 200(всего 50 чисел), 50 разделить на 2 = 25, 150 + 25 = 175, человек говорит 'меньше', это означает, что число в диапазоне от 150 до 175(всего 25 чисел), 25 делим на 2 = 12(округляя в меньшую сторону), 150 + 12 = 162, человек говорит меньше, значит число в диапазоне от 150 до 162, 12 / 2 = 6, от 150 до 156 6 чисел, слышим 'меньше', 6 / 2 = 3, после числа 153, слышим 'больше', значит загадано 154 или 155, 3/2 = 1(округляя в меньшую сторону), 153 + 1 = 154, 154 оказывается загаданным числом.
👍8❤2🤔2
hangman.py
23.1 KB
Всем привет!
Хочу поделиться своим новым проектом, Hangnam(490 строк), выбор языка, выбор сложностей, изображение состояния, 300+ слов на рус и англ в словарях для угадывания, много бонусов и не меньше всего интересного.
Хочу поделиться своим новым проектом, Hangnam(490 строк), выбор языка, выбор сложностей, изображение состояния, 300+ слов на рус и англ в словарях для угадывания, много бонусов и не меньше всего интересного.
👍8👏2🤓1
Про return в функциях
Функции могут возвращать различные значения с помощью return(строки, числа, списки, True, False), причём при возвращении первого значения функция прекращает свою работу, но как вернуть несколько значений. Можно использовать return, который возвращает несколько значений(Пример: return 1, 2, 3, 4), можно возвращать сколько угодно значений, но для каждое возвращаемое значение должно где-то храниться(Пример: num1, num2, num3 = get_numbers().
Функции могут возвращать различные значения с помощью return(строки, числа, списки, True, False), причём при возвращении первого значения функция прекращает свою работу, но как вернуть несколько значений. Можно использовать return, который возвращает несколько значений(Пример: return 1, 2, 3, 4), можно возвращать сколько угодно значений, но для каждое возвращаемое значение должно где-то храниться(Пример: num1, num2, num3 = get_numbers().
👍6🤔3👏2
Модуль random
Данный модуль используется для генерации 'случайных' чисел.
randint() - этот метод возвращает сгенерированное число в заданном диапазоне(включая последнее число). Можно использовать для разных интерактивных программ, например, если программа должна рандомно выбрать оператор для двух операндов(+, -, *, /....)
randrange() - этот метод возвращает сгенерированное число и работает как range(), то есть можно передавать шаг, левую границу и правую границу(которая не будет включена).
choice() этот метод возвращает одно случайное значение из заданного списка.
Данный модуль используется для генерации 'случайных' чисел.
randint() - этот метод возвращает сгенерированное число в заданном диапазоне(включая последнее число). Можно использовать для разных интерактивных программ, например, если программа должна рандомно выбрать оператор для двух операндов(+, -, *, /....)
randrange() - этот метод возвращает сгенерированное число и работает как range(), то есть можно передавать шаг, левую границу и правую границу(которая не будет включена).
choice() этот метод возвращает одно случайное значение из заданного списка.
👍7
Методы модуля random возвращают не случайные
По идее, методы модуля random направлены на возвращение случайных чисел. Да, это действительно так, если не вникаться в подробности. На самом деле, в этом модуле, числа высчитываются по специальной формуле. Но для вычисления числа по формуле, нужно знать начальное значение.
Системное время - это время, которое считается до маленьких единиц времени. Для начального значения, модуль random берёт цифры этого значеия.
По идее, методы модуля random направлены на возвращение случайных чисел. Да, это действительно так, если не вникаться в подробности. На самом деле, в этом модуле, числа высчитываются по специальной формуле. Но для вычисления числа по формуле, нужно знать начальное значение.
Системное время - это время, которое считается до маленьких единиц времени. Для начального значения, модуль random берёт цифры этого значеия.
🔥4👍3🤓2
hangman.py
30.7 KB
Всем привет!
Это файл c улучшенной версией hangman, я вылавливал ошибки и баги в игре и вот описание игры, на самом деле, в проекте я закомментировал описание игры, но оно на англ.
Краткое игры(без описания кода), так как с прикреплённым файлом большое описание не получится.
Это игра hangman('Палач' или 'Виселица'), пользователь может выбрать язык игры(рус или англ) и режим игры(лёгкий, нормальный или сложный), игроку загадывается слово из отдельных кортежей. Слова достаточно интересные, так как я пытался добавлять не все подряд, а интересные. Даётся длина загаданного слова(количество букв) и человек выбирает букву, если выбранная буква есть в слове - открываются все данные буквы в слове, иначе - отнимается попытка, каждую попытку картинка виселицы всё больше прорисовывается.
Присутствует 2 бонуса:
1 Бонус - открывается первая и последняя буква(для лёгкого режима)
2 Бонус - показывается категория данного слова(для лёгкого и нормального режима)
Это файл c улучшенной версией hangman, я вылавливал ошибки и баги в игре и вот описание игры, на самом деле, в проекте я закомментировал описание игры, но оно на англ.
Краткое игры(без описания кода), так как с прикреплённым файлом большое описание не получится.
Это игра hangman('Палач' или 'Виселица'), пользователь может выбрать язык игры(рус или англ) и режим игры(лёгкий, нормальный или сложный), игроку загадывается слово из отдельных кортежей. Слова достаточно интересные, так как я пытался добавлять не все подряд, а интересные. Даётся длина загаданного слова(количество букв) и человек выбирает букву, если выбранная буква есть в слове - открываются все данные буквы в слове, иначе - отнимается попытка, каждую попытку картинка виселицы всё больше прорисовывается.
Присутствует 2 бонуса:
1 Бонус - открывается первая и последняя буква(для лёгкого режима)
2 Бонус - показывается категория данного слова(для лёгкого и нормального режима)
👍5❤1
Что не является отличием списков от кортежей?🤔
Anonymous Quiz
30%
Списки изменяемые
20%
Элементы списков перечисляются в []
0%
Списки занимают больше места
22%
У списков есть индексирование
7%
Списки создаются с помощью list()
13%
Списки работают медленнее
9%
Список с 1 элементом можно создать без запятой в конце
👍8👏2🤔2
Модуль random (2 часть)
shuffle() - принимает список в виде аргумента и 'случайно' перемешивает его элементы.
uniform() - принимает в качестве аргументов начало диапазона, конец диапазона и выводит 'рандомное' вещественное число.
sample() - принимает в качестве аргументов список и количество 'случайных' элементов из списка и выводит заданное количество 'случайных' элементов из списка.
shuffle() - принимает список в виде аргумента и 'случайно' перемешивает его элементы.
uniform() - принимает в качестве аргументов начало диапазона, конец диапазона и выводит 'рандомное' вещественное число.
sample() - принимает в качестве аргументов список и количество 'случайных' элементов из списка и выводит заданное количество 'случайных' элементов из списка.
👍5
Списочные выражения
Списочные выражение или генератор списков - это быстрый и компактный способ создания списка с различными элементами. Для такого способа, в квадратных скобках нужно поместить выражение, результат которого поместится в список и цикл for, цикл может быть вложенным(последовательность может быть в range, в строке и так далее).
Списочные выражение или генератор списков - это быстрый и компактный способ создания списка с различными элементами. Для такого способа, в квадратных скобках нужно поместить выражение, результат которого поместится в список и цикл for, цикл может быть вложенным(последовательность может быть в range, в строке и так далее).
👍7👏2
Словари
Словарь - это структура данных, которая хранит в себе ссылки(ключи) на объекты. Словарь содержит ссылку на значение и само значение, то есть с помощью словаря мы можем обращаться ко многим значениям c помощью их индивидуальных ссылок, словарь создаётся с помощью фигурных скобок или dict().
Словарь - это структура данных, которая хранит в себе ссылки(ключи) на объекты. Словарь содержит ссылку на значение и само значение, то есть с помощью словаря мы можем обращаться ко многим значениям c помощью их индивидуальных ссылок, словарь создаётся с помощью фигурных скобок или dict().
👍9💊1
Задача Иосифа Флавия
Армия, в которой состоял Иосиф состояла из 41 человека, они решили скрыться в пещере, но армия римлян нашла их, вся армия Иосифа предпочла путь самоубийством, чтобы не сдаваться в плен, вся армия села вкруг, первый человек убивал второго, третий четвёртого, пятый шестого и так далее, Иосиф заранее рассчитав сел на 19 место и остался последним живым.
Да, такая задача легко решается при помощи программы с любыми произвольными входными данными(количество людей в кругу, какой человек по счёту выбывает(например: выбывает каждый четвёртый в кругу из девяти человек, выбывает 4, потом 8, потом 3 и так далее)), но как Иосиф так быстро узнал своё место, ведь в те года, наверно у него не было компьютера...🤔
Армия, в которой состоял Иосиф состояла из 41 человека, они решили скрыться в пещере, но армия римлян нашла их, вся армия Иосифа предпочла путь самоубийством, чтобы не сдаваться в плен, вся армия села вкруг, первый человек убивал второго, третий четвёртого, пятый шестого и так далее, Иосиф заранее рассчитав сел на 19 место и остался последним живым.
Да, такая задача легко решается при помощи программы с любыми произвольными входными данными(количество людей в кругу, какой человек по счёту выбывает(например: выбывает каждый четвёртый в кругу из девяти человек, выбывает 4, потом 8, потом 3 и так далее)), но как Иосиф так быстро узнал своё место, ведь в те года, наверно у него не было компьютера...🤔
👍7❤3🤔2🔥1💩1🤗1
Представление значений bool с помощью других типов данных.
С помощью чисел: 0 и -0 - False, все остальные числа - True.
С помощью строк: пустая строка - False, любая другая строка - True.
С помощью списков и словарей: пустой список/словарь - False, иначе - True.
Есть встроенная функция bool(), которая принимает 1 необязательный аргумент, она преобразовывает объект в булев тип данных. Если её вызвать без аргументов, то она вернёт False.
Таким образом, мы можем сокращать данные операции:
If len('Python') > 0: = If 'Python':
if num % 2 != 0: = if num % 2:
И так далее...
С помощью чисел: 0 и -0 - False, все остальные числа - True.
С помощью строк: пустая строка - False, любая другая строка - True.
С помощью списков и словарей: пустой список/словарь - False, иначе - True.
Есть встроенная функция bool(), которая принимает 1 необязательный аргумент, она преобразовывает объект в булев тип данных. Если её вызвать без аргументов, то она вернёт False.
Таким образом, мы можем сокращать данные операции:
If len('Python') > 0: = If 'Python':
if num % 2 != 0: = if num % 2:
И так далее...
👍7🔥6👏4❤1🤮1💘1