вы можете устранить необходимость в цикле while
и использовать функцию питонов range
для генерации ваших чисел до n
и использовать цикл for
для их перебора. вам также нужно инициализировать list
, чтобы сохранить их до начала цикла. и затем каждая итерация цикла добавляет квадратное число к списку.
n=int(input("input number: "))
squares = []
for num in range(1, n):
squares.append(num * num)
print(squares)
ВЫХОД для n = 10
[1, 4, 9, 16, 25, 36, 49, 64, 81]
Хотя это можно упростить, используястиль понимания списка питонов как
n=int(input("input number: "))
squares = [num * num for num in range(1, n)]
print(squares)
ВЫХОД для n = 10
[1, 4, 9, 16, 25, 36, 49, 64, 81]
ОБНОВЛЕНИЕ на основе комментария от Б. Перейти
пользователь B. Go указал, что мой ответ - распечатать все результаты возведения в квадрат числа до значения N. Но на самом деле вопрос заключался в том, чтобы вывести все квадратные числа меньше N. Ниже кода для печати квадратов меньше N
n=int(input("input number: "))
squares = []
for num in range(1, n):
result = num * num
if result >= n:
break
squares.append(num * num)
print(squares)
ВЫХОД N = 50
[1, 4, 9, 16, 25, 36, 49]