Создайте список нечетных чисел

#python #list #for-loop #while-loop #numbers

Вопрос:

я хочу составить список нечетных чисел, используя «пока» и «для»

 a = []
x = 1
while x < 101:
    if x % 2 != 0:
        a.append(x)
        x = x   1
print(a)
 

но ничего не произошло… и другие несвязанные коды, которые есть в другом предложении, также не выполняются.
в чем моя проблема?

Комментарии:

1. Обратите внимание, что если вы начинаете с 1, вам нужно добавлять только 2 на каждом шаге, а не добавлять 1 и проверять, нечетное ли число.

2. Это опечатка с отступом. Они x = x 1 должны быть согласованы с if .

Ответ №1:

Вы должны увеличивать значение x на каждой итерации, а не только в том случае, если значение нечетное число:

 a = []
x = 1
while x < 101:
    if x % 2 != 0:
        a.append(x)
    x  = 1
print(a)
 

Хотя, вероятно, это делается в учебных целях, обратите внимание, что вы можете достичь этого range с помощью следующей функции: list(range(1,101, 2)) .

Ответ №2:

Когда вы увеличиваете x, оно должно выходить из условия «если». приращение должно происходить в то время как

 a = list()
x = 1
while x <101:
    if x%2 != 0:
        a.append(x)
    x  = 1
print(a)
 

Ответ №3:

Вы range также можете использовать функцию (для for цикла), которая обрабатывает часть приращения в цикле, как показано ниже:
ДЛЯ ПЕТЛИ:

 odd=[]
for i in range(101):
    if (i%2!=0):
        odd.append(i)
print (odd)
 

В ТО ВРЕМЯ КАК ЦИКЛ:

 odd=[]
i = 1
while i<101:
    if i%2 != 0:
        odd.append(i)
    i =1
print (odd)
 

Ответ №4:

 odd = [i for i in range(101) if i%2 != 0]
print(odd)
 

Комментарии:

1. Хотя это более короткое решение, вопрос специально задан для решения с использованием while и for.