Próbuję przebić się przez Naukę Pythona na twardą drogę i starać się robić wszystko, co w mojej mocy, aby zdobyć wiedzę. Myślałem, że to zadziała: skonfiguruj raw_input, aby ustawić limit dla pętli while, następnie pozwól pętli while wykonać limit, który ustalam ze zmienną "frequency".Dlaczego raw_input tworzy nieskończoną pętlę w tym ćwiczeniu w ćwiczeniu Python the Hard Way?
To nie robi. Zamiast tego wysyła Pythona do nieskończonej pętli tworzenia list liczbowych, z których każda wydaje się być o jeden inkrement dłuższa niż ostatnia (bardzo długa) lista.
Oryginalny kod miał "while i < 6" - Dodałem zmienną raw_input, a nawet jeśli wprowadzę tę samą zmienną co w oryginalnym kodzie (6), robi to rzecz nieskończonej pętli.
Oto pełny scenariusz:
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
Przeprosiny dla maksymalnej ignorancji - Mam kopię Pythonie dla Software Design przede mną w miękkiej oprawie teraz, i to jest następna rzecz na mojej do -do listy po LPTHW.
Można znaleźć następujące przydatne. Chodzi o to, w jaki sposób ciągi i int są porównywane w python. http://stackoverflow.com/questions/3270680/how-does-python-compare-string-and-int – Dunes
spróbuj zmienić 'raw_input' na' input' –
lub 'frequency = int (raw_input ('Kenneth?')) ' –