1 / 1 / 0
Регистрация: 03.11.2022
Сообщений: 41

Плодородный край

23.04.2023, 16:55. Показов 703. Ответов 5

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста исправить или вообще изменить код, вот условия задачи
На следующий день двигались быстро, благополучно переправились через пороги Рио-Бель, а вечером расположились лагерем на берегу реки Био-Био, протекавшей на границе между Чили испанским и Арауканией. То был плодородный край, кругом обилие амариллисов, фиалковых деревьев, дурмана, кактусов, покрытых золотистыми цветами. Какие-то звери, среди них дикая кошка, притаились в чаще. Пернатых было мало, лишь порой мелькали то цапля, то одинокая сова, то спасающиеся от когтей сокола дрозды и чомги.

Напишите функцию fertile_land(), которая проанализирует местность.

Функция принимает произвольное количество позиционных аргументов – кортежей целых чисел и произвольное количество именованных аргументов, среди которых могут быть такие:

first_larger – первый элемент кортежа больше второго не менее, чем на указанное число;
even_odd – первый кратен указанному числу, а второй не кратен;
last_digit – второй элемент оканчивается на указанную цифру;
second_triple – второй имеет не менее указанного количества разрядов.
Функция возвращает сумму квадратов разностей первых и вторых элементов подходящих кортежей и их количество.

Пример 1
Ввод
Python
1
2
3
data = [(12, 36), (20, 7), (4, 61), (13, 11), (54, 19), (22, 14)]
conditions = {}
print(*fertile_land(*data, **conditions))
Вывод
5287 6

Пример 2
Ввод
Python
1
2
3
data = [(12, 33), (40, 13), (60, 43), (112, 13), (56, 23), (22, 3)]
conditions = {'first_larger': 11, 'even_odd': 4, 'last_digit': 3, 'second_triple': 2}
print(*fertile_land(*data, **conditions))
Вывод
11908 4
Вот мой код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def fertile_land(*args, **kwargs):
    count = 0
    total_diff = 0
    for tup in args:
        if 'first_larger' in kwargs:
            if tup[0] - tup[1] < kwargs['first_larger']:
                continue
        if 'even_odd' in kwargs:
            if tup[0] % kwargs['even_odd'] == 0 or tup[1] % kwargs['even_odd'] != 0:
                continue
        if 'last_digit' in kwargs:
            if str(tup[1])[-1] != str(kwargs['last_digit']):
                continue
        if 'second_triple' in kwargs:
            if len(str(tup[1])) < kwargs['second_triple'] * 3:
                continue
        count += 1
        total_diff += (tup[0] - tup[1]) ** 2
    return total_diff, count
Вот какая ошибка выходит
Line 1 differs: out:
>0 0<
corr:
>11908 4<
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2023, 16:55
Ответы с готовыми решениями:

Путешествие через край света
Во многих видеоиграх персонаж, покидая экран с одной стороны, тут же появляется с противоположной. Это так называемый плоский тор,...

Плодородный край
Плодородный край Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод run.py Вывод стандартный вывод или output.txt На...

Таблица выходит за край
такая проблема то что сделал сайт на wordpress , ну и таблицу вставил в новую страницу все работает гениально кроме вот мобильной версии,...

5
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
23.04.2023, 18:12
это не ошибка а подсказка что ваш ответ >0 0< а должен быть >11908 4<
для чего эти строки?
Python
1
2
if tup[0] - tup[1] < kwargs['first_larger']:
                continue
Python
1
2
if tup[0] % kwargs['even_odd'] == 0 or tup[1] % kwargs['even_odd'] != 0:
                continue
Python
1
2
if len(str(tup[1])) < kwargs['second_triple'] * 3:
                continue
они проверяют условия и больше ничего не делают
а вам нужно отобрать элементы кортежа которые подходят под эти условия а уже потом выполнить основное условие с этими элементам
Цитата Сообщение от kama_354 Посмотреть сообщение
возвращает сумму квадратов разностей первых и вторых элементов подходящих кортежей и их количество.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2023, 08:16
Python
1
2
3
4
5
6
7
8
9
10
11
12
def fertile_land(*args, **kwargs):
    f = args
    if 'first_larger' in kwargs:
        f = filter(lambda x: x[0] - x[1] >= kwargs['first_larger'], f)
    if 'even_odd' in kwargs:
        f = filter(lambda x: x[0] % kwargs['even_odd'] == 0 and x[1] % kwargs['even_odd'] != 0, f)
    if 'last_digit' in kwargs:
        f = filter(lambda x: x[1] % 10 == kwargs['last_digit'], f)
    if 'second_triple' in kwargs:
        f = filter(lambda x: len(f'{x[1]}') >= kwargs['second_triple'], f)
    res = list(map(lambda x: (x[0] - x[1]) ** 2, f))
    return sum(res), len(res)
0
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
24.04.2023, 12:13
iSmokeJC, наверно лучше if, elif ? зачем проверять кортеж на все условия? я так понял собираются те которые подходят под одно из условий. поэтому автор и писал continue после каждого условия но при этом не сохранял кортеж для решения. может я не так что понял.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2023, 12:18
Semen-Semenich, я так думаю, что результирующие кортежи должны соответствовать требованиям ВСЕХ условий, которые переданы. Они ж необязательные, не надо - не передавай.
Впрочем, это уже к ТСу.
0
1 / 1 / 0
Регистрация: 03.11.2022
Сообщений: 41
25.04.2023, 16:57  [ТС]
спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2023, 16:57
Помогаю со студенческими работами здесь

Поднимается край ноутбука
Здравствуйте! Ноутбук Honor magicbook 14. Когда открываешь крышку ноутбука, приподнимается правый передний край, чем больше крышка открыта,...

Камера упирается в край монитора
Вот скрипт: using UnityEngine; using System.Collections; public class FlyCamera : MonoBehaviour { float...

Завтра край сдавать надо(
Помогите решить, второй день справиться не могу( Правила, 5.18. Запрещено размещать задания в виде картинок и других файлов с их...

Сместить под самый край
Каким образом можно элементы шапки сместить под самый край, как показано на скриншоте? Код: &lt;hgroup&gt; &lt;h1...

В край задрал защитник windows
Отключил его как только можно, в реестре, в сервисах, эта зараза всё равно висит в процессах диспетчера задач р и грузит мне жёсткий диск...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru