Книга «Изучаем Python»



Pdf көрінісі
бет91/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   87   88   89   90   91   92   93   94   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 8 • Функции
Использование функции в цикле while
Функции могут использоваться со всеми структурами Python, уже известными 
вам. Например, используем функцию 
get_formatted_name()
в цикле 
while
, чтобы 
поприветствовать пользователей более официально. Первая версия программы, 
приветствующей пользователей по имени и фамилии, может выглядеть так:
greeter.py
def get_formatted_name(first_name, last_name):
"""Возвращает аккуратно отформатированное полное имя."""
full_name = first_name + ' ' + last_name
return full_name.title()
# Бесконечный цикл!
while True:
 
print("\nPlease tell me your name:")
f_name = input("First name: ")
l_name = input("Last name: ")
formatted_name = get_formatted_name(f_name, l_name)
print("\nHello, " + formatted_name + "!")
В этом примере используется простая версия 
get_formatted_name()
, без вторых 
имен. В цикле 
while

имя и фамилия пользователя запрашиваются по отдель-
ности.
Но у этого цикла 
while
есть один недостаток: в нем не определено условие завер-
шения. Где следует разместить условие завершения при запросе серии данных? 
Пользователю нужно предоставить возможность выйти из цикла как можно рань-
ше, так что в приглашении должен содержаться способ завершения. Команда 
break
позволяет немедленно прервать цикл при запросе любого из компонентов:
def get_formatted_name(first_name, last_name):
"""Возвращает аккуратно отформатированное полное имя."""
full_name = first_name + ' ' + last_name
return full_name.title()
while True:
print("\nPlease tell me your name:")
print("(enter 'q' at any time to quit)")
f_name = input("First name: ")
if f_name == 'q':
break
l_name = input("Last name: ")
if l_name == 'q':
break
formatted_name = get_formatted_name(f_name, l_name)
print("\nHello, " + formatted_name + "!")
В программу добавляется сообщение, которое объясняет пользователю, как за-
вершить ввод данных, и при вводе признака завершения в любом из приглашений 


Передача списка
147
цикл прерывается. Теперь программа будет приветствовать пользователя до тех 
пор, пока вместо имени или фамилии не будет введен символ 
'q'
:
Please tell me your name:
(enter 'q' at any time to quit)
First name: 


Достарыңызбен бөлісу:
1   ...   87   88   89   90   91   92   93   94   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет