Я работаю через трудный путь изучения питона , и в упражнении 33 дополнительный кредит 2 Я пытаюсь использовать либо raw_input
, либо argv
, чтобы установить переменную, которая будет использоваться в цикл while:
# from sys import argv
# script, my_num = argv
def all_the_numbers(n):
"""increment by 1 up to limit n"""
i = 0
numbers = []
while i < n:
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 "Please enter an integer: "
# n = raw_input("#")
# n = my_num
n = 10
all_the_numbers(n)
с жестким кодом n = 10
работает как положено; печать строк до 10
. Но передача значения как my_num
из argv
и / или установка переменной из raw_input
приводит к бесконечному приращению целых чисел вверх. Чем отличаются последние две формы установки переменных от того, что они не ведут себя точно так же, как жестко заданные настройки одной и той же переменной?