Python Напишите программу, в которой пользователь вводит строки до тех пор, пока не...

+429 голосов
2.6m просмотров

Python Напишите программу, в которой пользователь вводит строки до тех пор, пока не будет введена пустая строка "".  При вводе каждой непустой строки, программа должна выводить "текст". Входные данные:Ввод текста в отдельных строчках.Выходные данные:Выводить "текст" до пустой строки.​


Информатика (17 баллов) | 2.6m просмотров
+171

да

+89

То есть на каждый вообще любой ввод от пользователя программа просто должна выводить в консоль слово "текст"?

Дан 1 ответ
+168 голосов
Правильный ответ

Ответ:

--- Python 3.8.3 ---

import typing

from typing import Callable

from typing import Any

Primitive = typing.TypeVar('Primitive', int, float, complex, str, bytes, bytearray)

def ReadSeqWhile(predicate: Callable[[Any], bool], SeqType: Primitive = int):

   '''

   Возвращает последовательность элементов в указанном типе, считываемых с клавиатуры, пока ввод удовлетворяет условию

   '''

   temp = SeqType(input())

   while predicate(temp):

       yield temp

       temp = SeqType(input())

def main():

   InputData = ReadSeqWhile(lambda p: p != '', SeqType = str)

   for _ in InputData:

       print('text')

   

if __name__ == "__main__":

   main()

(1.6k баллов)