В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Cанек3017
Cанек3017
29.06.2021 06:02 •  Информатика

PyGame-де кейіпкерлерді қалай қозғалтады?

Показать ответ
Ответ:
ekatsinrom
ekatsinrom
04.11.2021 00:30

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

0,0(0 оценок)
Ответ:
путникспутник
путникспутник
09.09.2021 01:12

from random import randint

def task_26():

    """

    26. дано число, введенное с клавиатуры.

    определите сумму квадратов нечетных цифр в числе.

    """

    def square():

        number = int(input("number: "))

        s = 0

        for x in str(number):

            if int(x) % 2 ! = 0:

                s += int(x) ** 2

        print("cума квадратов нечетных цифр в числе = {}".format(s))

    square()

def task_27():

    """

    27. найдите сумму чисел, вводимых с клавиатуры.

    количество вводимых чисел заранее неизвестно.

    окончание ввода, например, слово «стоп».

    """

    def number_sum():

        numbers_sum = 0

        while true:

            number = input("number: ")

            if number == 'стоп' or number == 'стоп':

                break

            else:

                numbers_sum += int(number)

        print('suma {}'.format(numbers_sum))

    number_sum()

def task_28():

    """

    28. задана строка из стихотворения:  

    «мой дядя самых честных правил, когда не в шутку занемог,  

    он уважать себя заставил и лучше выдумать не мог»  

    удалите из строки все слова, начинающиеся на букву «м».  

    результат вывести на экран в виде строки.  

    подсказка: вспомните про модификацию списков.

    """

    def word_deleted(line):

        line_split = line.split()

        for i in range(len(line_split) - 1):   # 0,19

            if line_split[i][0] == "м" or line_split[i][0] == "м":

                del line_split[i]

        return line_split

    lines = "мой дядя самых честных правил, когда не в шутку занемог, " \

            "он уважать себя заставил и лучше выдумать не мог"

    print(word_deleted(lines))

def task_32():

    """

    32. создайте матрицу (список из вложенных списков)  

    размера n x n (фиксируются в программе), заполненную случайными  

    целыми числами.

    """

    def new_matrix(n):

        matrix = [[randint(0, 100) for x in range(n)] for i in range(n)]

        for x in matrix:

            print(x)

    new_matrix(10)

def task_45():

    """

    45. напишите функцию, которая возвращает разность между наибольшим и  

    наименьшим значениями из списка целых случайных чисел.  

    """

    def difference():

        number_random = [randint(0, 100) for i in range(50)]

        print('разность между наибольшим и наименьшим значениями = {}'.format(

            (max(number_random) - min(number_random))

        ))

    difference()

def task_46():

    """

    46. напишите программу, которая для целочисленного списка из 1000 случайных

    элементов определяет, сколько отрицательных элементов располагается  

    между его максимальным и минимальным элементами.  

    """

    def num_random_count():

        random_numbers = [randint(-500, 500) for i in range(1000)]

        index_max = random_numbers.index(max(random_numbers))

        index_min = random_numbers.index(min(random_numbers))

        count = 0

        list_range = random_numbers[index_min: index_max + 1]

        for x in list_range:

            if int(x) < 0:

                count += 1

        print("отрицательных элементов между максимальным и "

              "минимальным элементами = {}".format(count))

    num_random_count()

def task_50():

    """

    50. дан список целых чисел. определить количество четных элементов и  

    количество элементов, оканчивающихся на цифру 5.  

    """

    def func(n):

        test_list = [randint(0, 500) for i in range(n)]

        count_num = 0

        count_five = 0

        for x in test_list:

            if x % 2 == 0:

                count_num += 1

            if x % 10 == 5:

                count_five += 1

        print("количество четных элементов {}".format(count_num))

        print("количество элементов, оканчивающихся на цифру 5.   {}".format(

            count_five))

    func(50)

def task_51():

    """

    51. задан список из целых чисел. определить процентное содержание  

    элементов, превышающих среднеарифметическое всех элементов списка

    """

    def func(n):

        test_list = [randint(0, 100) for i in range(n)]

        average = sum(test_list) / len(test_list)

        count = 0

        for x in test_list:

            if x > average:

                count += 1

        print("процентное содержание элементов, превышающих"

              " среднеарифметическое всех элементов списка = {} %".format(

            round((count / average) * 100,

    func(100)

if __name__ == "__main__":

    task_26()

    task_27()

    task_28()

    task_32()

    task_45()

    task_46()

    task_50()

    task_51()

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота