profile
Размещено 4 года назад по предмету Информатика от kljud

нужно перевести из паскаля в питон!! помогите пожалуйста
const
    n = 10;

var
    a, b: array[1..n]of real;
    i: integer;
    s, maxs: real;

begin
    for i := 1 to n do
    begin
        a[i] := random(3, 10);
        b[i] := random(3, 10);
        
        if (maxs < a[i] * b[i]) then maxs := a[i] * b[i];
    end;
    
    for i := 1 to n do
        if (maxs = a[i] * b[i]) then
            writeln(i, ' Площадь=', a[i] * b[i] * 0.5, ' а=', a[i], ' b=', b[i]);
    
end.​

  1. Ответ на вопрос
    Ответ на вопрос дан HP2020

    Некоторые изменения в коде на Питоне в отличие от Паскаля:

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

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.