anna241273
?>

Определите название инструментов с которых можно разворачивать объекты в

Информатика

Ответы

supercom-ru-marinaguseva4267

import random

# Определяем список учеников

student_list = ["Александр", "София", "Мария", "Максим", "Михаил", "Артём", "Анна", "Даниил", "Иван", "Виктория",

               "Алиса", "Анастасия", "Дмитрий", "Полина", "Елизавета", "Александра", "Дарья", "Екатерина", "Кирилл"]

# Создаем цикл while

while True:

   # Создаем пользовательский ввод

   sort_type = input("Выберите метод сортировки учеников (r - случайно, a - в алфавитном порядке, ar - в алфавитном "

                     "порядке обратно): ")

   # Если выбран метод сортировки "r", сортируем список случайно и прерываем выполнение текущего цикла

   if sort_type == "r":

       random.shuffle(student_list)

       print(student_list)

       break

   # Если выбран метод сортировки "a", сортируем список в алфавитном порядке и прерываем выполнение текущего цикла

   elif sort_type == "a":

       student_list.sort()

       print(student_list)

       break

   # Если выбран метод сортировки "ar", сортируем список в алфавитном порядке обратно и прерываем выполнение

   # текущего цикла

   elif sort_type == "ar":

       student_list.sort(reverse=True)

       print(student_list)

       break

   # Если выбран неопределенный сортировки, выводим ошибку и возвращаемся к пользовательскому вводу

   else:

       print("Неизвестный метод сортировки.")


задачу по инфе на языке PYTHON! import random x = random.randint(1, 10) Преподаватель опрашивает уче
Анна егорович526

Можно решить "по-умному". Можно "по-простому". По-умному интереснее решать на всяких C++. На python приятнее решать по-простому.

variants = []n = int(input("n = "))def silly(k):    variants = []    for ones in range(k + 1):        for twos in range(k // 2 + 1):            for fifth in range(k // 5 + 1):                for tenth in range(k // 10 + 1):                    s = tenth * 10 + fifth * 5 + twos * 2 + ones                    if s > k:                        break                    if s == k:                        variants.append((ones, twos, fifth, tenth))    return variantsprint("Количество вариантов: %d" % len(variants))for v in variants:    print("Рублями: %d; Двойками: %d; Пятёрками: %d; Десятками: %d." % v)

Поясняю: перебираем варианты, если сумма равна исходному числу, то записываем в варианты, если сумма получается больше, то можем пропустить оставшиеся варианты, так как перебираем от меньшего к большему.

Есть другой подход. "Умный".

Выглядит он так.

def smart(variants, ones, twos=0, fifth=0, tenth=0):    v = (ones, twos, fifth, tenth)    if v not in variants:        variants.append(v)        if ones - 2 >= 0:            smart(variants, ones - 2, twos + 1, fifth, tenth)        if ones - 5 >= 0:            smart(variants, ones - 5, twos, fifth + 1, tenth)        if ones - 10 >= 0:            smart(variants, ones - 10, twos, fifth, tenth + 1)        return variants

Поясняю: Ясное дело, что сумму n можно описать как n монеток по 1 рублю. А все остальные варианты вытекают из этого путем отнятия 2, 5 или 10 рублей от исходной суммы и дописыванием единиц в соответствующие параметры. Такой подход позволяет избежать неправильных комбинаций, однако может генерировать дублирующие варианты. Чтобы этого избежать, проверяем наличие варианта в сохраненных.


Написать программу в питоне напишите пояснение к написанной программе

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определите название инструментов с которых можно разворачивать объекты в
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Вишняков997
edubenskaya
Филиппович_Николаевич
glebshramko
ilonchick679
zubritskiy550
Сергеевна-Пузанов
mdubov59
zelreiki
Anastasiamoscow80
bagramyansvetlana
kortikov77
saniopt
lilit-yan
korotinadasha07