def parse(array:list):
suitable = []
for item in array:
if str(item)[::-1] == '4':
suitable.append(item)
return suitable
def main():
nums = [int(i) for i in input().split()]
assert sum(nums) <= 30000
assert len(nums) <= 1000
suitable = parse(nums)
try:
print(min(suitable))
except ValueError:
print('0')
if __name__ == '__main__':
main()
Объяснение:
Сайт гарантированно сломает код, по скриншоту его можно восстановить.
Принцип работы:
Получаем на вход список чисел
Утверждение - сумма всех элементов меньше 30 000
Утверждение - всего в списке не более 1000 элементов
Если одно из утверждений не верно, программа завершает работу с ошибкой AssertionError (Ошибка утверждения)
Прогоняем список через функцию parse, результат сохраняем в переменную suitable (подходящие)
Пытаемся вывести на экран минимальный элемент списка suitable.
Если список пуст, будет возбуждено исключение ValueError, перехватываем его, вместе ошибки выводим в консоль 0
Функция Parse: <= Список
Локальная переменная suitable типа list (список)
Для каждого элемента списка, переданного функции -
Если последний символ в строковом представлении элемента списка есть 4 - добавляем в список suitable, иначе - пропускаем итерацию
Возвращаем список suitable
Программы правда выводят не просто число, т.к. это не очень понятно получается, поэтому сначала выводится название того, что именно мы сосчитали.
Когда проверите работу программы, просто уберите текстовую часть вывода в конце, и тогда будет как в задаче- выводится только одно число.
Также, в последней программе можно сократить сообщение при отсутствии искомых чисел до просто "NO".
1) оканчивающиеся на 4 (минимальное):
цел ч,н,п,м=0
алг
нач
вывод "количество чисел в последовательности= "
ввод п
вывод "ввод последовательности натуральных чисел:", нс
нц для н от 1 до п
вывод "число ", н, " из ", п, " = "
ввод ч
если mod (ч, 10) = 4 то
если м=0 или м>ч то м := ч всё
всё
кц
вывод "минимальное число, оканчивающееся на четыре= ", м
кон
2) кратные 5 (среднее арифметическое):
цел ч,н=0,с=0,к=0
нц
н := н+1
вывод "число №", н, " = "
если mod (ч, 5) = 0 и ч <> 0 то
с := с+ч
к := к+1
кц при ч=0
если к=0 то
вывод "NO (нет чисел, кратных пяти)"
иначе
вывод "среднее арифметическое чисел кратных пяти= ", с/к
def parse(array:list):
suitable = []
for item in array:
if str(item)[::-1] == '4':
suitable.append(item)
return suitable
def main():
nums = [int(i) for i in input().split()]
assert sum(nums) <= 30000
assert len(nums) <= 1000
suitable = parse(nums)
try:
print(min(suitable))
except ValueError:
print('0')
if __name__ == '__main__':
main()
Объяснение:
Сайт гарантированно сломает код, по скриншоту его можно восстановить.
Принцип работы:
Получаем на вход список чисел
Утверждение - сумма всех элементов меньше 30 000
Утверждение - всего в списке не более 1000 элементов
Если одно из утверждений не верно, программа завершает работу с ошибкой AssertionError (Ошибка утверждения)
Прогоняем список через функцию parse, результат сохраняем в переменную suitable (подходящие)
Пытаемся вывести на экран минимальный элемент списка suitable.
Если список пуст, будет возбуждено исключение ValueError, перехватываем его, вместе ошибки выводим в консоль 0
Функция Parse: <= Список
Локальная переменная suitable типа list (список)
Для каждого элемента списка, переданного функции -
Если последний символ в строковом представлении элемента списка есть 4 - добавляем в список suitable, иначе - пропускаем итерацию
Возвращаем список suitable
Программы правда выводят не просто число, т.к. это не очень понятно получается, поэтому сначала выводится название того, что именно мы сосчитали.
Когда проверите работу программы, просто уберите текстовую часть вывода в конце, и тогда будет как в задаче- выводится только одно число.
Также, в последней программе можно сократить сообщение при отсутствии искомых чисел до просто "NO".
1) оканчивающиеся на 4 (минимальное):
цел ч,н,п,м=0
алг
нач
вывод "количество чисел в последовательности= "
ввод п
вывод "ввод последовательности натуральных чисел:", нс
нц для н от 1 до п
вывод "число ", н, " из ", п, " = "
ввод ч
если mod (ч, 10) = 4 то
если м=0 или м>ч то м := ч всё
всё
кц
вывод "минимальное число, оканчивающееся на четыре= ", м
кон
2) кратные 5 (среднее арифметическое):
цел ч,н=0,с=0,к=0
алг
нач
вывод "ввод последовательности натуральных чисел:", нс
нц
н := н+1
вывод "число №", н, " = "
ввод ч
если mod (ч, 5) = 0 и ч <> 0 то
с := с+ч
к := к+1
всё
кц при ч=0
если к=0 то
вывод "NO (нет чисел, кратных пяти)"
иначе
вывод "среднее арифметическое чисел кратных пяти= ", с/к
всё
кон