Ах, после того, как вы разместили свой код, я вижу проблему:
readNames()
print readNames()
Вы вызываете readNames
, читаете эти имена из stdin, как и планировалось, правильно return
считывает имена , а затем выбрасываете результат , потому что вы ничего не назначаете (names = readNames()
) , Затем вы снова вызываете readNames
, и вам кажется, что он не вышел из цикла (он сделал, но вы сказали, чтобы он снова зациклился). Вы снова набираете finish
, и второй вызов readNames
заканчивается без ввода каких-либо имен (nameList
- локальная переменная, поэтому она теряется после завершения выполнения функции), поэтому вы возвращаетесь []
.
Чтобы это исправить, (1) освежите свои знания в области программирования;) и (2) сделайте что-то вроде names = readNames()
; print names
.