Некоторые изменения в коде на Питоне в отличие от Паскаля:
"const n = 10;" превратится в "n = 10"Присвоения обозначаются не :=, а просто =Раздел описаний нам не нужен, разве что можно сразу задать списки длины n: a = [None] * n; b = [None] * nВ Паскале некоторые переменные инициализируются нулем. Тут придется написать присвоение явно."for i := 1 to n do" превратится в "for i in range(1, n + 1):". Но так как нумерация элементов списка в Питоне начинается с нуля, имеет смысл поменять на range(n), чтобы действительно был проход по всем элементам. При этом в выводе придется поменять i на i + 1, чтобы сам вывод не поменялся.Вместо begin ... end используются отступыДля генерации случайных чисел в промежутке от 3 до 10 в модуле random есть функция randint, использование такое же, что и у random в исходной программеУсловная конструкция в Питоне if cond: ...Проверка на равенство ==, а не =Вывод - функция print. Чтобы Питон не добавлял лишние пробелы, нужно в функцию print дописать sep=''Получается так:
Код (Python 3):
from random import randint
n = 10
a = [None] * n
b = [None] * n
maxs = 0
for i in range(n):
a[i] = randint(3, 10)
b[i] = randint(3, 10)
if maxs < a[i] * b[i]:
maxs = a[i] * b[i]
for i in range(n):
if maxs == a[i] * b[i]:
print(i + 1, ' Площадь=', a[i] * b[i] * 0.5, ' а=', a[i], ' b=', b[i], sep='')
Пример вывода:
5 Площадь=50.0 а=10 b=10
7 Площадь=50.0 а=10 b=10
если на входе имеем строку, то привести к листу её можно с метода split(sep), где sep - символ, который программа считает за разделитель
input_list = input().split(',')
В нашей задаче нужно найти минимум, и сложить все индексы, под которыми этот минимум встречается. Для этого нужно привести последовательность к типу int. Можем воспользоваться либо функцией map, либо очень сильным питоньим колдунством (генераторы списков). Но всё таки воспользуемся более традиционным
input_list = list(map(int, input_list))
теперь все элементы нашего списка имеют тип int. Вытащим оттуда минимум:
our_min = min(input_list)
заведём переменную, куда будем складывать сумму индексов:
index_sum = 0
Самым очевидным для школьника сложить все индексы минимума будет перебрать весь массив и сравнивать элементы с нашим минимумом. Что бы не городить огороды, воспользуемся функцией enumerate, которая для нашего листа вернёт лист, состоящий из кортежей (индекс, элемент_под_этим_индексом)
for index, item in enumerate(input_list):
if item == our_min: index_sum += index
что произошло? Всё просто - если выбранный элемент является минимумом, то мы увеличиваем нашу переменную index_sum на значение индекса очередного встреченного минимума. Осталось дело за малым - выведем сумму индексов на экран
print(index_sum)
P.S - Из выделенных курсивом строчек кода можно склеить программу) Но на всякий случай, ниже всё же приложен скриншот.