Почему я получаю бесконечный цикл? [ПИФОН 2.7] - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь запустить очень простой цикл while и все еще плохо знаком с python. Я выучил, очевидно:


numbers = []
def print_numbers(x):
    i = 0
    counter = x
    while i < counter:
        print "top of the list"
        numbers.append(i)
        print i 
        i += 1    
        #print "Numbers nows:", numbers
        #print"At the bottom i is %d" % i

#print "The numbers:"
y = raw_input("Pleast enter the number:")
print_numbers(y)
#for num in numbers:
#    print num

Итак, этот цикл делает то, что говорит, берет число и добавляет егодля списка по одному, длина списка определяется пользовательским вводом.Кажется, прямо достаточно правильно.Хорошо, когда я запускаю его, я получаю бесконечный цикл.Почему это так?

1 Ответ

0 голосов
/ 08 мая 2019

Ваша переменная y имеет тип str, поэтому она никогда не меньше i. Вам нужно проанализировать его как int после чтения из стандартного ввода.

numbers = []


def print_numbers(x):
    i = 0
    counter = x
    print i,counter
    while i < counter:
        print "top of the list"
        numbers.append(i)
        print i
        i += 1
        # print "Numbers nows:", numbers
        # print"At the bottom i is %d" % i


# print "The numbers:"
y = int(raw_input("Pleast enter the number:"))
print_numbers(y)

...