Глава 8 Функции
8-1 Сообщение. Напишите функцию с именем display_message (), которая печатает предложение, показывающее, что вы узнали в этой главе. Вызовите эту функцию, чтобы подтвердить правильность отображаемого сообщения.

def display_message():
    print("function")

display_message()
1
2
3
4
результат операции:

function
1
8-2. Любимые книги: напишите функцию с именем favourite_book (), которая содержит формальный параметр с именем title. Эта функция печатает сообщение, например «Алиса в стране чудес». Одна из моих любимых книг. Вызовите эту функцию и передайте ей название книги в качестве аргумента.

def favorite_book(title):
    print("One of my favorite book is " + title)

favorite_book('Alice in Wonderland')
1
2
3
4
результат операции:

One of my favorite book is Alice in Wonderland
1
8-3 Футболка: напишите функцию make_shirt (), которая принимает размер и слова, которые будут напечатаны на футболке. Эта функция должна напечатать предложение, в котором указаны размер и шрифт футболки. Используйте аргумент позиции, чтобы вызвать эту функцию, чтобы сделать футболку; затем используйте аргумент ключевого слова, чтобы вызвать эту функцию.

def make_shirt(size,message):
    print("size: " + size)
    print("message: " + message)

# Использовать вызов аргумента позиции
make_shirt('large','Hello World!')
# Использовать вызов аргумента ключевого слова
make_shirt(size = 'large',message = 'Hello World!')
1
2
3
4
5
6
7
8
результат операции:

size: large
message: Hello World!
size: large
message: Hello World!
1
2
3
4
8-4. Большая футболка. Измените функцию make_shirt (), чтобы сделать большую футболку со словами «Я люблю Python», напечатанными по умолчанию. Вызовите эту функцию, чтобы создать следующие футболки: большую футболку с надписями по умолчанию, среднюю футболку с надписями по умолчанию и футболку с другими надписями (размер не имеет значения).

def make_shirt(size = 'large',font = 'I love Python'):
    print("size: " + size)
    print("font: " + font)

make_shirt()
make_shirt(size = 'middle')
make_shirt(size = 'small',font = 'Hello World')
1
2
3
4
5
6
7
результат операции:

size: large
font: I love Python
size: middle
font: I love Python
size: small
font: Hello World
1
2
3
4
5
6
8-5 Город: Напишите функцию с именем describe_city (), которая принимает название города и страну, которой он принадлежит. Эта функция должна выводить простое предложение, например, Рейкьявик находится в Исландии. Укажите значение по умолчанию для формального параметра, используемого для хранения страны. Вызовите эту функцию для трех разных городов, и хотя бы один из них не принадлежит стране по умолчанию.

def describe_city(city, country = 'China'):
    print(city + " is in " + country)

describe_city('Beijing')
describe_city('Shanghai')
describe_city('NewYork', 'USA')
1
2
3
4
5
6
результат операции:

Beijing is in China
Shanghai is in China
NewYork is in USA
1
2
3
8-6 Название города: напишите функцию с именем city_country (), которая принимает название города и страны, которой он принадлежит. Эта функция должна возвращать строку в формате, подобном следующему: «Сантьяго, Чили». Вызовите эту функцию, используя по крайней мере три пары город - страна, и распечатайте возвращаемое значение.

def city_country(city,country):
    city_country = city.title() + "," + country.title()
    return city_country

city_country1 = city_country('beijing','china')
print(city_country1)

city_country2 = city_country('shanghai','china')
print(city_country2)

city_country3 = city_country('dalian','china')
print(city_country3)
1
2
3
4
5
6
7
8
9
10
11
12
результат операции:

Beijing,China
Shanghai,China
Dalian,China
1
2
3
8-7 Альбом: напишите функцию make_album (), которая создает словарь, описывающий музыкальные альбомы. Эта функция должна принимать имя певца и название альбома и возвращать словарь, содержащий эти две информации. Используйте эту функцию для создания трех словарей, представляющих разные альбомы, и печати каждого возвращаемого значения, чтобы убедиться, что словарь правильно хранит информацию об альбоме.
Добавьте необязательный параметр к функции make_album () для хранения количества песен, содержащихся в альбоме. Если при вызове этой функции указано количество песен, это значение добавляется в словарь, представляющий альбом. Вызовите эту функцию и укажите количество песен, содержащихся в альбоме, хотя бы за один вызов.

def make_album(artist,title,num = ''):
    artist_album = {'artist' : artist,'album' : title}
    if num:
        artist_album['number'] = num
    return artist_album

album1 = make_album('GEM','paomo')
print(album1)
album2 = make_album('GEM','paomo','100w')
print(album2)
1
2
3
4
5
6
7
8
9
10
результат операции:

{'artist': 'GEM', 'album': 'paomo'}
{'artist': 'GEM', 'album': 'paomo', 'number': '100w'}
1
2
8-8 Альбом пользователя. В программе, написанной для выполнения упражнения 8-7, напишите цикл while, чтобы пользователь мог ввести исполнителя и название альбома. После получения этой информации используйте их, чтобы вызвать функцию make_album () и распечатать созданный словарь. В этом цикле while вы должны предоставить способ выхода.

def make_album(artist,title,num = ''):
    artist_album = {'artist' : artist,'album' : title}
    if num:
        artist_album['number'] = num
    return artist_album

print("Enter 'quit' at any time to stop.")
while True:
    title = input("What's your favorite album? ")
    if title == 'quit':
        break
    artist = input("Who's the artist? ")
    if artist == 'quit':
        break
    
    album = make_album(artist,title)
    print(album)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
результат операции:

Enter 'quit' at any time to stop.
What's your favorite album? paomo
Who's the artist? GEM
{'artist': 'GEM', 'album': 'paomo'}
What's your favorite album? quit
1
2
3
4
5
8-9 Маги: Создайте список, содержащий имена магов, и передайте его функции с именем show_magician (). Эта функция печатает имя каждого мага в списке.

def show_magicians(magicians):
    for magician in magicians:
        print(magician)
        
magicians = ['Mike', 'John', 'Bob']
show_magicians(magicians)
1
2
3
4
5
6
результат операции:

Mike
John
Bob
1
2
3
8-10 Великий маг: В программе, которую вы написали для выполнения упражнения 8-9, напишите функцию с именем make_great (), измените список магов и добавьте слова к имени каждого мага. "Отлично". Вызовите show_magician (), чтобы подтвердить, что список фокусников действительно изменился.

def show_magicians(magicians):
    for magician in magicians:
        print(magician)

def make_great(magicians):

    great_magicians = []

    while magicians:
        magician = magicians.pop()
        great_magician = magician + ' the Great'
        great_magicians.append(great_magician)

    for great_magician in great_magicians:
        magicians.append(great_magician)

magicians = ['Mike', 'John', 'Bob']
make_great(magicians)
show_magicians(magicians)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
результат операции:

Bob the Great
John the Great
Mike the Great
1
2
3
8-11 Неизменный маг: измените написанную вами программу, чтобы выполнить упражнение 8-10, и передать ей копию списка фокусников при вызове функции make_great (). Поскольку вы не хотите изменять исходный список, вернитесь к измененному списку и сохраните его в другом списке. Используйте эти два списка для вызова show_magician () и убедитесь, что один список содержит имя оригинального мага, а другой список содержит имя мага с добавленными словами «Великий».

def show_magicians(magicians):
    for magician in magicians:
        print(magician)

def make_great(magicians):

    great_magicians = []

    while magicians:
        magician = magicians.pop()
        great_magician = magician + ' the Great'
        great_magicians.append(great_magician)

    for great_magician in great_magicians:
        magicians.append(great_magician)
    
    return magicians

magicians = ['Mike', 'John', 'Bob']
show_magicians(magicians)

print("\nGreat magicians:")
great_magicians = make_great(magicians[:])
show_magicians(great_magicians)

print("\nOriginal magicians:")
show_magicians(magicians)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
результат операции:

Mike
John
Bob

Great magicians:
Bob the Great
John the Great
Mike the Great

Original magicians:
Mike
John
Bob
1
2
3
4
5
6
7
8
9
10
11
12
13
8-12 Сэндвич: напишите функцию, которая принимает ряд ингредиентов, которые клиенты хотят добавить в сэндвич. Эта функция имеет только один формальный параметр (он собирает все ингредиенты, указанные в вызове функции) и печатает сообщение с описанием сэндвичей, заказанных клиентом. Вызовите эту функцию трижды, каждый раз предоставляя разное количество фактических параметров.

def make_sandwish(*toppings):
    print("\nMaking a sandwish with the following topping:")
    for topping in toppings:
        print(topping)

make_sandwish('cheese')
make_sandwish('beef','cheese')
make_sandwish('beef','cheese','butter')
1
2
3
4
5
6
7
8
результат операции:

Making a sandwish with the following topping:
cheese

Making a sandwish with the following topping:
beef
cheese

Making a sandwish with the following topping:
beef
cheese
butter
1
2
3
4
5
6
7
8
9
10
11
8-13 Профиль пользователя: скопируйте предыдущую программу user_profile.py и вызовите в ней build_profile (), чтобы создать профиль о вас; при вызове этой функции укажите свое имя и фамилию, а также три пары ключ-значение, которые описывают вас.

def build_profile(first,last,**user_info):
    profile = {}
    profile['first_name'] = first
    profile['last_name'] = last
    for key, value in user_info.items():
        profile[key] = value
    return profile

user_profile =build_profile('Steven', 'Lee',
                            country='China',
                            location='Dalian',
                            field='IT')
print(user_profile)
1
2
3
4
5
6
7
8
9
10
11
12
13
результат операции:

{'first_name': 'Steven', 'last_name': 'Lee', 'country': 'China', 
'location': 'Dalian', 'field': 'IT'}
1
2
8-14 Автомобиль: Напишите функцию для хранения информации об автомобиле в словаре. Эта функция всегда принимает производителя и модель, а также принимает любое количество аргументов ключевого слова. Вызовите эту функцию следующим образом: укажите основную информацию и две пары имя-значение, например цвет и дополнительные аксессуары. Эта функция должна иметь возможность вызываться следующим образом: car = make_car (‘subaru’, ‘outback’, color = ‘blue’, tow_package = True) Распечатайте возвращенный словарь и убедитесь, что вся информация обрабатывается правильно.

def make_car(maker,model, **car_info):
    information = {}
    information['car_maker'] = maker
    information['car_model'] = model
    for key, value in car_info.items():
        information[key] = value
    return information

car = make_car('subaru', 'outback', color='blue' ,tow_package=True)
print(car)
1
2
3
4
5
6
7
8
9
10
результат операции:

{'car_maker': 'subaru', 'car_model': 'outback', 
'color': 'blue', 'tow_package': True}
1
2

Интеллектуальная рекомендация
Общие алгоритмы в массиве
1. Назначение массива Возьмите треугольник Ян Хуи в качестве примера: 2. Разница между назначением и копией массива Назначение: Сохранить ARR1Значение адресаARR2 дается ARR2, так что ARR1 и ARR2 совме...

Ubuntu Configuration веб-сервер Apache2
Перепечатанный один: https://blog.csdn.net/xifei66/article/details/73734035 Эта статья Ubuntu16.04 Под содержанием веб-сервера (MySQL + Apache) может быть упомянуто в интернет-предшественниках, но улу...

Пример. Определите комплексный класс Complex, операторы перегрузки "+", "=", "*", ",", чтобы он мог складывать, вычитать, умножать и делить комплексные числа. ... 【Объектно-ориентированный дизайн】
тема: Определите сложный класс Complex, перегруженные операторы "+", "=", "*", ",", чтобы он мог складывать, вычитать, умножать и делить комплексные числа. Функ...

Как автоматически создавать резервные копии удаленных объектов (1)
Самое большое различие между приложением и платформой заключается в том, что вы пишете запросы на платформу, и у приложений есть те требования, которые неожиданно вас удивляют, так называемые «х...

Серия учебных пособий swoft2 - подробные задания
Введение в основные функции Цитата из официального введения Некоторые сценарии не зависят от основного процесса, и задачи могут использоваться напрямую для достижения аналогичных функций. Фреймворк пр...

Вам также может понравиться
[Switch] Android APK сравнение подписи
Пожалуйста, укажите источник для перепечатки: http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html Друзья, которые выпустили приложения для Android, должны знать, что для выпуска Android APK...

Разработка и внедрение Spring JBOSSMQ JMS (3)
Если вы использовали JMS, вы обнаружите, что это похоже на написание кода JDBC или JCA. Он имеет шаблонный код для создания или извлечения ресурсов JMS. Всякий раз, когда вам нужно написать новый клас...

Анализ ядра Linux: миграция статуса TCP --- Разговор о замечательном использовании массива
  Ядро Linux использовала такой массив, чтобы сохранить неприятности при обслуживании кода для записи кода. Если функция обратного вызова расширена, то переключатель или корпус, если при преобраз...

Найдите разницу между любым годом и любым днем
Если месяц и день первого года <= 2. 28, вам необходимо определить, является ли год високосным. Если месяц и день первого года> 2,28, нет необходимости судить, является ли год високосным. Если м...

Обучение с подкреплением (2) -три алгоритма обучения Q Learning, Sarsa и Deep Q Learning
Алгоритм обучения One, Q Как показано на рисунке выше, значение решения Q обучения (Алгоритм, основанный на стоимости) Хранится в Q-таблице. Вы можете сначала установить значение вознаграждения a1 на ...