#loops #append
Вопрос:
Я пытаюсь взять список list_of_numbers и определить, какие из чисел являются четными идеальными квадратами, а какие нечетными идеальными квадратами, но при запуске я не получаю никаких выходных данных. ожидаемый результат будет состоять из двух списков первый список: number_odd_squares [9, 25, 81, 121] второй список: number_even_squares [2, 16, 36, 42, 64, 100]
list_of_numbers = [2, 9, 16, 25, 36, 42, 64, 81, 100, 121]
определение find_perfect_squares(list_of_numbers):
number_even_squares =[]
number_odd_squares = []
for i in list_of_numbers:
if (i%2) != 0 and root = math.sqrt(i):
number_odd_squares.append(i)
elif (i%2) == 0 and root = math.sqrt(i):
number_even_squares.append(i)
print(number_even_squares)
print(number_odd_squares)
return
find_perfect_squares(list_of_numbers)
Комментарии:
1. Каков ожидаемый результат? Не могли бы вы задать этот вопрос, пожалуйста?
2. отредактировал то, что у меня есть сейчас, и каков мой ожидаемый результат
Ответ №1:
В своем for
цикле вы на самом деле не выполняете итерацию по массиву, вы выполняете итерацию от 0
до длины массива, которая [0, 1, 2, ...]
вместо [2, 9, 16, ...]
этого, поэтому посмотрите на изменение range(len(...))
детали.
Кроме того, вы никогда не используете свою i
переменную, которая устанавливается в цикле. Вероятно, он предназначен для того, чтобы попасть в if/else
блок, где вы проверяете 1 % 2
(что никогда не бывает равно 0
).
Посмотрите на эти 2 ошибки, и это поможет вашей программе работать должным образом.