М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Кисюка
Кисюка
29.06.2022 13:19 •  Информатика

Дано двовимірний масив n*m елементів. Знайти суму елементів головної діагоналі.
С кто понимает... За SOS

👇
Открыть все ответы
Ответ:
medinehuseynzade
medinehuseynzade
29.06.2022

Без проверок код был бы намного меньше, но сделал с проверками на всякий случай. Если нужно проще - пишите. По сути достаточно функции calculate_cost. И я ещё другую функцию сделал calculate_cost_old, она не используется, но в ней дифференцированный подход вычислений используется, то есть до нижней границы вычисляется по ставке 1,1, дальше вычисляется по тарифу, а больше верхней границы по тарифу 0,9. Мне кажется, так логичнее:

def calculate_cost(N:int,A:int,B:int,T:float):

   s = 0

   if N <= A: s = 1.1*N

   elif A < N <= B: s = N

   else: s = 0.9*N

   return round(T*s,2)

def calculate_cost_old(N:int,A:int,B:int,T:float):

   """Данная функция вычисляет стоимость услуг и возвращает значение"""

   s1 = 0

   s2 = 0

   s3 = 0

   # вычислим стоимость до нижней границы включительно

   if N <= A: s1 = 1.1*N

   else: s1 = 1.1*A

   # вычислим стоимость между нижней (исключительно) и верхней (включительно) границами

   if A < N <= B: s2 = N-A

   elif N > B: s2 = B-A

   # вычислим стоимость от верхней границы (исключительно)

   if N > B: s3 = 0.9*(N-B)

   

   return round(T*(s1+s2+s3),2)

def calculator():

   """основная функция"""

   names = ['Количество минут', 'Нижняя граница тарифа', 'Верхняя граница тарифа', 'Стоимость тарифа']

   while True:

       chk = True

       a = list(map(str, input('Начните ввод: ').split()))

       if len(a) != 4:

           print('Ошибка ввода: введите четыре параметра через пробел')

           continue

       for i in range(len(a)):

           if i != 3:

               try:

                   a[i] = int(a[i])

                   if a[i] < 0: raise ValueError

                   if i == 2 and a[i-1] > a[i]: raise ValueError

               except ValueError:

                   print(f'Ошибка ввода: значение "{names[i]}" ({i+1}-й параметр) должно быть целым не отрицательным числом', '> нижней границы' if i == 2 else '')

                   chk = False

           else:

               try:

                   a[i] = float(a[i])

                   if a[i] <= 0: raise ValueError

               except ValueError:

                   print(f'Ошибка ввода: значение "{names[i]}" ({i+1}-й параметр) должно быть целым положительным числом')

                   chk = False

       if chk: break

   print()

   print('--- Рассчёт окончен ---')

   print('Стоимость учлуг составляет: {:.2f}'.format(calculate_cost(a[0],a[1],a[2],a[3])))

   print()

print('--- Рассчёт стоимости услуг связи ---')

print()

print('Введите через пробел: \n  - количество потраченных за месяц минут (целое число >= 0)\n  - нижнюю границу тарифа (целое число >= 0)\n  - верхнюю границу тарифа (целое число >= нижней границы)\n  - стоимость (вещественное число > 0)')

print()

while True:

   calculator()

   if input('Повторить вычисления? (y/n): ') == 'n': break

4,7(16 оценок)
Ответ:
89622356703
89622356703
29.06.2022

1. Списки - особый вид форматирования абзацев.  

2. Существует три типа списков: маркированный, нумерованный номер и многоуровневый.  

3. Существует несколько оформления некоторого фрагмента текста в виде маркированного или нумерованного списка. 

Основной. Перед созданием списка курсор следует разместить в нужном месте документа и выполнить Главная --> Абзац --> Маркеры или Нумерация. В текущем месте документа появится маркер или номер того вида списка, который использовался последним. После этого можно вводить первый элемент списка. После его ввода следует нажать клавишу Enter - следующий номер или маркер появляются в следующей строке документа автоматически. Когда последний элемент списка введен, нужно повторно выбрать кнопку соответствующего списка на Ленте, или дважды нажать Enter, или удалить номер (маркер) клавишей BackSpace.  

Автоматическое создание списка. Разместив курсор в нужном месте документа, следует ввести некие специальные условные символы, которые определяют вид желаемого списка, и нажать клавишу Пробел. Сразу же условные символы превратятся в соответствующий маркер или номер, после чего можно вводить первый элемент списка. 

Превращение текста в список. Если некоторые абзацы текста, введенного ранее, нужно оформить как список, то следует выделить эти абзацы и выбрать на Ленте кнопку соответствующего типа списка: Маркеры, Нумерация. 

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

4. Колонки - прием форматирования текста, применяемое для лучшей читабельности объемного текста. 

5. Для вставки в текстовый документ графического изображения из файла, который сохранен на внешнем носителе, следует выполнить Вставка - Иллюстрации - Рисунок. После этого в диалоговом окне Вставка рисунка выбрать нужный файл. Для вставки в текстовый документ графического изображения из коллекций нужно выполнить Вставка - Иллюстрации - Клип. Эти действия открывают область задач Клип, которая предоставляет возможность осуществлять поиск нужных изображений и просматривать эскизы найденных.  

6. Обтекание рисунка текстом - функция, которая используется для компактного размещения материала и связывания между собой рисунка и текста. Можно задать такие виды обтекания: обтекание текстом, вокруг рамки, по контуру, сквозное, сверху и снизу. 

4,6(71 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ