Найди самого большого. Пользователь вводит последовательность целых">

idkfndnf idkfndnf    2   13.07.2020 20:09    0

Ответы
Lenika2len Lenika2len  15.10.2020 15:17

--- Python 3.8.3 ---

import typing

from typing import Callable

from typing import AnyStr

from typing import Any

from typing import Iterable

from typing import List

from math import inf

#DEFINE User-Types

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

#END

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

   '''

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

   '''

   temp = SeqType(input())

   while predicate(temp):

       yield temp

       temp = SeqType(input())

def IndexMax(Array: List[Any]) -> int:

   '''

   Возвращает индекс первого максимума для list

   '''

   _max = -inf

   _maxind = 0

   for index, item in enumerate(Array):

       if item > _max:  

           _max = item  

           _maxind = index

   return _maxind

def main():

   RawData = ReadSeqWhile(lambda p: p != 0)

   print(IndexMax(RawData)+1)

       

if __name__ == "__main__":

   main()

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика