Дан порядковый номер дня года k (отсчет с 1-го января). выведите номер дня недели этого дня, если 1 января — это заданный день недели под номером d. python
Я не уверен в решении от слова совсем, но смотри... Читаем внимательно условие.
...КАЖДАЯ КОМАНДА СЫГРАЛА С КАЖДОЙ. Из ВСЕХ участвовавших команд 20% команд НЕ СМОГЛИ ОДЕРЖАТЬ ПОБЕДУ НИ В ОДНОМ ИЗ МАТЧЕЙ...
Теперь включаем логику. Допустим у нас есть 10 команд, которые сыграли между собой. 20% от 10 - 2. Получается у нас имеется 2 команды, которые проиграли ВО ВСЕХ МАТЧАХ. А теперь задаемся вопросом "это как?".
Если с остальными командами все понятно, то как они играя между собой могли проиграть 2 сразу? (Ведь очевидно, что может быть только один победитель и только один проигравший в матче) По условию - ничьи не было. Значит делаем вывод, что искать больше одной команды, которая проиграла всем - некорректно.
Число команд, которая дает нам от 20% одного аутсайдера - 5. Получаем, что если Катя сделала фото с каждой командой на турнире, то постов у нее будет тоже 5. А команда, которая проиграла всем - одна единственная.
Первая ошибка, переменная названа как встроенная функция в Python, так делать не нужно.
Вторая ошибка, забыл ограничить if, из-за которого не будет выполняться elif. Меняем его на:
if (sum>=500) and (sum<1000)
Третья ошибка, расчет финальной цены неверный, если использовать вариант, который дан сейчас, то мы найдем процент от этой суммы, а не сумму с начисленными процентами. Меняем на:
final_sum = sums * (1+first_sale)
final_sum = sums * (1+second_sale)
Четвертая ошибка, почему у нас вывод финальной суммы через else? Получается, что если выполняются условия выше, то не выводится сумма. Этот вывод мы можем опустить ниже, а в else написать, что ввели неверные данные (если конечно подразумевается, что пользователь не должен вводить число меньшее 500), либо в elif засунуть эту строку, полной задачи у меня нет, поэтому сам с этим разберешься.
Пятая ошибка, мы не можем сложить строку с числом, нам нужно преобразовать нашу переменную к строке с str().
Я не уверен в решении от слова совсем, но смотри... Читаем внимательно условие.
...КАЖДАЯ КОМАНДА СЫГРАЛА С КАЖДОЙ. Из ВСЕХ участвовавших команд 20% команд НЕ СМОГЛИ ОДЕРЖАТЬ ПОБЕДУ НИ В ОДНОМ ИЗ МАТЧЕЙ...
Теперь включаем логику. Допустим у нас есть 10 команд, которые сыграли между собой. 20% от 10 - 2. Получается у нас имеется 2 команды, которые проиграли ВО ВСЕХ МАТЧАХ. А теперь задаемся вопросом "это как?".
Если с остальными командами все понятно, то как они играя между собой могли проиграть 2 сразу? (Ведь очевидно, что может быть только один победитель и только один проигравший в матче) По условию - ничьи не было. Значит делаем вывод, что искать больше одной команды, которая проиграла всем - некорректно.
Число команд, которая дает нам от 20% одного аутсайдера - 5. Получаем, что если Катя сделала фото с каждой командой на турнире, то постов у нее будет тоже 5. А команда, которая проиграла всем - одна единственная.
Ошибок тут достаточно, по всем пройдемся.
Первая ошибка, переменная названа как встроенная функция в Python, так делать не нужно.
Вторая ошибка, забыл ограничить if, из-за которого не будет выполняться elif. Меняем его на:
if (sum>=500) and (sum<1000)
Третья ошибка, расчет финальной цены неверный, если использовать вариант, который дан сейчас, то мы найдем процент от этой суммы, а не сумму с начисленными процентами. Меняем на:
final_sum = sums * (1+first_sale)
final_sum = sums * (1+second_sale)
Четвертая ошибка, почему у нас вывод финальной суммы через else? Получается, что если выполняются условия выше, то не выводится сумма. Этот вывод мы можем опустить ниже, а в else написать, что ввели неверные данные (если конечно подразумевается, что пользователь не должен вводить число меньшее 500), либо в elif засунуть эту строку, полной задачи у меня нет, поэтому сам с этим разберешься.
Пятая ошибка, мы не можем сложить строку с числом, нам нужно преобразовать нашу переменную к строке с str().
Исправленный код:
sums = int(input("Введите сумму покупки:"))
first_sale = 0.03
second_sale = 0.05
if sums >= 500 and sums < 1000:
final_sum = sums * (1+first_sale)
print("Финальная сумма равна: " + str(final_sum))
elif sums >= 1000:
final_sum = sums * (1+second_sale)
print("Финальная сумма равна: " + str(final_sum))
else:
print("Введены неверные данные")