Почему raw_input создает бесконечный цикл в этом варианте упражнения Learn Python the Hard Way?

Я пытаюсь пройти свой путь через Learn Python the Hard Way, и пытаюсь возиться там, где я могу, чтобы продолжить свои образование. Я думал, что это сработает: настройте raw_input, чтобы установить предел для цикла while, затем позвольте циклу while выполняться до предела, который я установил с помощью переменной «частота».

Это не так. Вместо этого он отправляет Python в бесконечный цикл создания списков номеров, каждый из которых кажется на одно приращение длиннее, чем последний (очень длинный) список.

В исходном коде было «while i <6» - я добавил переменную raw_input, и даже если я ввожу ту же переменную, что и в исходном коде (6), она выполняет бесконечный цикл.

Вот полный сценарий:

i = 0 
numbers = []

print "What is the frequency?"
frequency = raw_input ('Kenneth? ')

while i < frequency:
    print "At the top i is %d" % i
    numbers.append(i)
    i = i + 1
    print "Numbers now: ", numbers
    print "At the bottom i is %d" % i

print "The numbers: "

for num in numbers: 
    print num

Приношу извинения за максимальное незнание - прямо сейчас передо мной копия Python для проектирования программного обеспечения в мягкой обложке, и это следующая вещь в моем списке дел после LPTHW .

5
задан ThiefMaster 30 December 2011 в 22:15
поделиться