Сначала инициализируем переменную, в которую запишется введенное N с клавы. Далее перебираем все числа от 1 до N, и так три раза. Каждый перебор имеет свое значение: for u - это заготовка для операций с "a"; for k - заготовка для операций с "b"; ну и for b - для "с". В самом конце мы сравниваем их квадраты с значением из for b. Немного сложно понять, но вот на примере: ввели 15, перебираем каждое число из промежутка от 1 до 15, сначала взяв 1 (u), потом снова берем 1 (k), потом снова берем 1 (b), сумма 1**2 + 1**2 не равно 1**2, идем дальше значит. Берем из этого промежутка 1 (u), потом опять 1 (k), а вот сейчас взяли 2 (b), сумма 1**2 + 1**2 не равна 2**2, опять не подошло. Этим я хотел показать, что значения постепенно меняются с конца, с последнего for. Последний for дошел до числа 15? теперь начнет меняться for, который выше. Так раз за разом переберутся все возможные значения.
Надеюсь, более-менее понятно :c
Лучше порешай подобные задания на вложенные циклы на других ресурсах, понимание с практикой придет
N = int(input())
for u in range(1, N):
for k in range(1, N):
for b in range(1, N):
if u**2 + k**2 == b**2:
print(u, k, b)
Объяснение:
Сначала инициализируем переменную, в которую запишется введенное N с клавы. Далее перебираем все числа от 1 до N, и так три раза. Каждый перебор имеет свое значение: for u - это заготовка для операций с "a"; for k - заготовка для операций с "b"; ну и for b - для "с". В самом конце мы сравниваем их квадраты с значением из for b. Немного сложно понять, но вот на примере: ввели 15, перебираем каждое число из промежутка от 1 до 15, сначала взяв 1 (u), потом снова берем 1 (k), потом снова берем 1 (b), сумма 1**2 + 1**2 не равно 1**2, идем дальше значит. Берем из этого промежутка 1 (u), потом опять 1 (k), а вот сейчас взяли 2 (b), сумма 1**2 + 1**2 не равна 2**2, опять не подошло. Этим я хотел показать, что значения постепенно меняются с конца, с последнего for. Последний for дошел до числа 15? теперь начнет меняться for, который выше. Так раз за разом переберутся все возможные значения.Надеюсь, более-менее понятно :c
Лучше порешай подобные задания на вложенные циклы на других ресурсах, понимание с практикой придет
Вариант 1, где пользователь вводит нужное количество, а числа генерируются случайно:
import random
elements = [] # создаём пустой список, куда будут записываться введенные числа
# спрашиваем пользователя сколько чисел необходимо
numbersCount = int(input('Сколько чисел желаете сгенерировать: '))
for i in range(numbersCount): # запускаем цикл столько раз, сколько запросил пользователь
elements.append(random.randrange(1,100)) # наполняем elements случайным числом
evenNumbersCounter = 0 # счётчик чётных чисел
for element in elements:
if element % 2 == 0:
evenNumbersCounter += 1
print(f'Числа: {elements}')
print(f'Количество четных чисел: {evenNumbersCounter}')
Вариант 2, где пользователь сам вводит 20 чисел:
elements = [] # создаём пустой список, куда будут записываться введенные числа
# цикл 20 раз спрашивает числа у пользователя и записывает их в elements преобразовывая в int
for i in range(1,21): #
elements.append(int(input(f'#{i} Введите число: ')))
evenNumbersCounter = 0 # создаем счётчик, куда далее будем считать количество четных чисел
for element in elements:
if element % 2 == 0:
evenNumbersCounter += 1
# увеличиваем счётчик, если у числа нет остатка при делении на 2 (то есть, число чётное)
print(f'Количество четных чисел: {evenNumbersCounter}')