Есть ответ 👍

Написать программу, которая будет вычислять периметр треугольника, если его стороны дробные числа.

179
350
Посмотреть ответы 2

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


// pascalabc.net 3.2 begin   var a,b,c: real;   write('введите длины сторон треугольника: '); read(a,b,c);   writeln('p=',a+b+c) end.
Children703
4,5(49 оценок)

--- 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

#DEFINING USER TYPES

Numeric = typing.TypeVar('Numeric', int, float, complex)

#ENDDEF

#Решение задания 1

def StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr = None) -> int:

   counter = 0

   if splitter:

       ToAnalyse = RawString.split(splitter)

   else:  

       ToAnalyse = list(RawString)

   for item in ToAnalyse:

       if Selector(item): counter += 1  

   return counter

#Вс функция для решения задания 2. Возвращает считанные из файла данные

def LoadDataFromFile(fname:AnyStr, encoding:AnyStr):

   with open(fname, 'r', encoding=encoding) as f:

       rawData = f.read()

   return rawData  

def Product(data: Iterable[Numeric]):

   #Перемножает все значения в переданной последовательности.

   #Последовательность НЕ МОЖЕТ содержать какие либо элементы, кроме чисел

   p = 1

   for i in data: p *= i

   return p

def Dump(fname: AnyStr, data: AnyStr, encoding: AnyStr):

   with open(fname, 'w', encoding=encoding) as f:

       f.write(str(data))

def Task1():

   '''

   Использует фукнцию StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr = None)

   При помещении в отдельный файл функции Task2, в этот же файл необходимо поместить фукнцию StringCount(), а так же выполнить следующие импорты:

   import typing

   from typing import Any

   from typing import AnyStr

   from typing import Callable

   При помещении в отельный файл код из функции Task1() можно поместить в глобальную область.

   '''

   RawNum = input()

   fives = StringCount(RawNum, lambda s: s == '5')

   print(f'"5" count: {fives}')

def Task2():

   '''

   Использует функции:

   LoadDataFromFile(fname:AnyStr, encoding:AnyStr)

   Dump(fname: AnyStr, data: AnyStr, encoding: AnyStr)

   При помещении функции Task2 в отдельный файл,  

   в этот же файл необходимо поместить функцию LoadDataFromFile(), Функцию Dump(),

   а так же выполнить следующие импорты:

   import typing

   from typing import Any

   from typing import AnyStr

   from typing import Iterable

   а так же сразу после импортов добавить следующую строку:  

   Numeric = typing.TypeVar('Numeric', int, float, complex)

   при помещении в отдельный файл код из функции Task2() можно поместить в глобальную область.

   '''

   Numbers = [int(i) for i in LoadDataFromFile('input.txt', 'utf-8').split('\n')]

   Dump('Output.txt', Product(Numbers), 'utf-8')

P.S Не советую что то менять, если вы плохо разбираетесь. Решение представляет собой цельную программу, которая выполняет оба задания сразу.

P.S 2 Код работает для интерпретатора Python 3.5 и выше

P.S 3 Код протестирован

P.S 4 Файл, в котором лежат входные данные для задачи 2, должен называться input.txt и лежать в одной директории с файлом программы

P.S 5 Если вы тупо скопируете код, Интерпретатор может начать ругаться. Это вызвано тем, что наш любимый сайт подменяет табуляции и подряд идущие пробелы каким то своим дурацким символом, который не может переварить интерпретатор

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS