Вопрос по Phyton У есть программа, цель которой записать таблицу умножения от 2 * 2 = 4 до 9 * 9 = 81. Но программа работает неправильно и выписывает только таблицу умножения от 2 * 2 до 2 * 9.
Вопрос: что нужно сделать чтобы код выполнял умножения от 2 * 2 = 4 до сначала объяснить и уже потом писать исправленную программу)
while True: s = 1 s2 = 1 s += 1 if s2 == 9: s += 1 for s2 in range(2, 10): print(f'{s} * {s2} = {s * s2}')
Вообще, я слабо представляю зачем для фиксированных значений вы используйте цикл while. В данной задаче достаточно использовать простейший вложенный цикл
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 begin var a:=MatrixRandom(7,7,0,9); var k:=0; for var i:=0 to 6 do begin for var j:=0 to 6 do begin Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
const n=7; var a:array[1..n,1..n] of integer; i,j,k:integer; begin Randomize; k:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(10); Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
В прямоугольном треугольнике должна выполняться теорема Пифагора. Найдем самую длинную строну и проверим, является ли квадрат ее длины суммой квадратов длин двух других сторон. Для того, чтобы избежать ошибок округления примем, что все длины - натуральные числа.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin var (a,b,c):=ReadReal3('Введите через пробел или Enter стороны:'); if a>c then Swap(a,c); if b>c then Swap(b,c); if c*c=a*a+b*b then Writeln('Треугольник прямоугольный') else Writeln('Треугольник не прямоугольный') end.
Пример Введите через пробел или Enter стороны: 6 8 10 Треугольник прямоугольный
Правильный код:
for x in range(2, 10):
for y in range(2, 10):
print(f'{x} * {y} = {x * y}')
Объяснение:
Вообще, я слабо представляю зачем для фиксированных значений вы используйте цикл while. В данной задаче достаточно использовать простейший вложенный цикл