Информатика, вопрос задал mistermen009 , 2 года назад

Напишите программу в ПИТОНЕ, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последова-тельности всегда имеется число, оканчивающееся на 6. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, оканчивающихся на 6.

Ответы на вопрос

Ответил mrpansar
0

print(len([i for i in [int(input()) for i in range(int(input()))] if i % 10 == 6]))

Ответил KnowsUser1
1

Ответ:

def ReadSeq(SeqLen: int, CastType):

   for _ in range(SeqLen):

       yield CastType(input())

def main():

   Sequence = ReadSeq(int(input()), int)

   filtered = filter(lambda p: str(p).endswith('6'), Sequence)

   print(len(list(filtered)))

if __name__ == '__main__':

   main()

Да, моя версия конечно занимает побольше строк, чем другое предложенное решение, но эффективнее расходует память, и, как по мне, немного легче воспринимается на глаз.


Omikami: у новичков будет посттравматический шок от таких решений, друзья ;p
mistermen009: ссылка на скрин
Omikami: табуляция с сайта не копируется
Omikami: ручками проставь
mrpansar: Нет, в этом нет ничего плохого, просто, по моим наблюдениям, ваша привычка через раз работает.
Да и людей, которые просят решить задачи подобного рода и имеют хоть какое-то представление о функции main, нет(
mistermen009: хорошо попробую ,правда долго писать
KnowsUser1: Ну, через раз эта привычка работает потому, что скрипты, которые реально имеет какой то логический смысл сделать в одну строку, я пишу прямо тут, в поле ответа, без использования IDE)
mistermen009: все учту,спасибо
mrpansar: Согласен, эта задача из тех, которые решать в одну строчку - это табу
mistermen009: можете пожалуйста еще помочь с питоном
Новые вопросы