Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как организовать дележ яблок питон?

  1. Как организовать дележ яблок питон?

    Привет! Столкнулся с задачей, где нужно поделить яблоки между несколькими людьми поровну с использованием Питона. У меня есть, скажем, 20 яблок и 6 человек. Как правильно написать код, который будет делить яблоки и выводить сколько досталось каждому и сколько осталось? Если остались 'лишние' яблоки, то как сделать, чтобы они были равномерно распределены между некоторыми людьми?

    Пример исходных данных:
    apple_count = 20
    person_count = 6

    Я начинающий в Питоне, так что буду благодарен за любые примеры кода и объяснения. Всем спасиб!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Попробуй вот такой вариантик:

    Программный код:
    apple_count 20
    person_count 
    6

    # Деление яблок
    apples_per_person apple_count // person_count
    remaining_apples apple_count person_count

    print(f'Каждому достанется: {apples_per_person} яблок(а)')
    print(
    f'Лишние яблоки: {remaining_apples} яблок(а)')

    # Если нужно распределить остаток
    if remaining_apples 0:
    for 
    i in range(remaining_apples):
    print(
    f'Человеку {i+1} добавлено 1 яблоко')
    Если будут вопросы или чё-то непонятно, пиши!

  4. Цитата Сообщение от TanyaKnight
    Попробуй вот такой вариантик:

    Программный код:
    apple_count 20
    person_count 
    6

    # Деление яблок
    apples_per_person apple_count // person_count
    remaining_apples apple_count person_count

    print(f'Каждому достанется: {apples_per_person} яблок(а)')
    print(
    f'Лишние яблоки: {remaining_apples} яблок(а)')

    # Если нужно распределить остаток
    if remaining_apples 0:
    for 
    i in range(remaining_apples):
    print(
    f'Человеку {i+1} добавлено 1 яблоко')
    Если будут вопросы или чё-то непонятно, пиши!
    Отлично! Но что если я хочу сохранять данные о каждом человеке в отдельной переменной, в списке или словаре?

  5. Еще можно юзать списки или словари для хранения данных каждого человека. Вот пример:

    Программный код:
    apple_count 20
    person_count 
    6

    # Деление яблок
    apples_per_person apple_count // person_count
    remaining_apples apple_count person_count

    people 
    = [apples_per_person] * person_count

    for i in range(remaining_apples):
    people[i] += 1

    print(people
    Теперь список people содержит кол-во яблок у каждого. А раздавать 'лишние' яблоки можно через loop.

  6. Цитата Сообщение от ЛюкСкайуокер
    Еще можно юзать списки или словари для хранения данных каждого человека. Вот пример:

    Программный код:
    apple_count 20
    person_count 
    6

    # Деление яблок
    apples_per_person apple_count // person_count
    remaining_apples apple_count person_count

    people 
    = [apples_per_person] * person_count

    for i in range(remaining_apples):
    people[i] += 1

    print(people
    Теперь список people содержит кол-во яблок у каждого. А раздавать 'лишние' яблоки можно через loop.
    Ну, этот варик выглядит более структурированно. Типа, чистый код для начинающего.

  7. Можешь еще использовать генераторы списков и функции. Типа вот так:

    Программный код:
    def distribute_apples(apple_countperson_count):
    base_apples apple_count // person_count
    extra_apples apple_count person_count
    return [base_apples + (if extra_apples else 0) for i in range(person_count)]

    apple_count 20
    person_count 
    6
    distribution 
    distribute_apples(apple_countperson_count)
    print(
    distribution)  # выводит [4, 4, 3, 3, 3, 3] 
    Функции - сила, чуваки!

  8. Цитата Сообщение от Геккельберри
    Можешь еще использовать генераторы списков и функции. Типа вот так:

    Программный код:
    def distribute_apples(apple_countperson_count):
    base_apples apple_count // person_count
    extra_apples apple_count person_count
    return [base_apples + (if extra_apples else 0) for i in range(person_count)]

    apple_count 20
    person_count 
    6
    distribution 
    distribute_apples(apple_countperson_count)
    print(
    distribution)  # выводит [4, 4, 3, 3, 3, 3] 
    Функции - сила, чуваки!
    Блин, а этот вариант выглядит лаконичнее и как-то попроще. Зацени что думает ТС.

  9. Ну и язык, у вас тут, ребятки! Короче, можно тоже юзать модуль itertools, чтобы изящненько это дело забацать:

    Программный код:
    import itertools

    apple_count 
    20
    person_count 
    6

    base_apples 
    apple_count // person_count
    extra_apples apple_count person_count

    base_distribution 
    = [base_apples] * person_count
    additional_distribution 
    = [if extra_apples else for i in range(person_count)]

    final_distribution = list(map(lambda xx[0] + x[1], zip(base_distributionadditional_distribution)))
    print(
    final_distribution)  # выводит [4, 4, 4, 3, 3, 3] 
    Python рулит!

  10. Цитата Сообщение от ДиопсидовыйВетер
    Ну и язык, у вас тут, ребятки! Короче, можно тоже юзать модуль itertools, чтобы изящненько это дело забацать:

    Программный код:
    import itertools

    apple_count 
    20
    person_count 
    6

    base_apples 
    apple_count // person_count
    extra_apples apple_count person_count

    base_distribution 
    = [base_apples] * person_count
    additional_distribution 
    = [if extra_apples else for i in range(person_count)]

    final_distribution = list(map(lambda xx[0] + x[1], zip(base_distributionadditional_distribution)))
    print(
    final_distribution)  # выводит [4, 4, 4, 3, 3, 3] 
    Python рулит!
    Ну вы звери, сразу и itertools в бой. Класный подход, если тс хочет повыёживаться своим умением Питона!

Страница 1 из 2 12 ПоследняяПоследняя