JOHN_16
А у меня работает. И делает она ровно то что написано в заголовке темы.судя по вашим сообщениям вы безнадежны, подумайте что бы оставить программирование - это не ваше. Не обижайтесь. Просто читая книгу можно и узнать зачем нужен return, что такое for, что print() в 3 питоне это функция, а ведь в книге то упор сделан именно на тройку, что большинство ваших вопросов решаются парой минут и 1 запросом в поисковик типа Гугл. Да и за год времени как никак можно уже и научиться азам…пускай даже в “обучении” были пробелы.
))) Спасибо за объективное мнение. Но я буду всё равно дальше заниматься, мне нравится программировать это занятие для души. А то, что у меня не получается многое за год - это пустяки. Это моё хобби и я не намерен сдаваться )))

Что не так с while? Я брал этот пример с byte of python русская версия 2.0.1, в свежей английской версии убрали это пример, я его полностью переписал из книги и нашёл опечатку в конце: там написано print p без (). Работаю с komodo edit. Каким редактором пользуетесь вы? А понял - это переменная n виновата ))) . Я её в int взял и всё заработало