python函數學習(二)

1.函數返回字典

函數可返回任何類型的值,包括列表和字典等較複雜的數據結構。例如,下面的函數接受姓名的組成部分,並返回一個表示人的字典:

def build_person(first_name,last_name):
    person={'first':first_name,
            'last':last_name
            }
    return person
musician=build_person('Jimi','hendrix')
print(musician)

函數build_person() 接受名和姓,並將這些值封裝到字典中(見❶)。存儲first_name 的值時,使用的鍵爲'first' ,而存儲last_name 的值時,使用的鍵 爲'last' 。最後,返回表示人的整個字典(見❷)。在❸處,打印這個返回的值,此時原來的兩項文本信息存儲在一個字典中。


在下面這個函數定義中,我們新增了一個可選形參age ,並將其默認值設置爲空字符串。如果函數調用
中包含這個形參的值,這個值將存儲到字典中。在任何情況下,這個函數都會存儲 人的姓名,但可對其
進行修改,使其也存儲有關人的其他信息。 
def build_person(first_name,last_name,age=''):
    person={'first':first_name,
            'last':last_name
            }
    if age:
        person['age']=age
    return person
musician=build_person('Jimi','hendrix',age=23)
print(musician)

2.結合使用函數和while循環

def get_formatted_name(first_name,last_name):
    full_name=first_name+' '+last_name
    return full_name.title()

while True:
    print("Please 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("hello,"+formatted_name)

3.練習

#編寫一個名爲city_country() 的函數,
# 它接受城市的名稱及其所屬的國家。這個函數應返回一個格式類似於下面這樣的字符串:
 "Santiago, Chile"

def city_country(city,country):
    name = city+" "+country
    return name.title()
Name=city_country('stantiago','chile')
print(Name)
def make_album(singer_name,album_name,num=''):
    singer={'歌手':singer_name,
            '專輯':album_name}
    if num:
        singer['num']=num
    return singer
album=make_album('肖戰','踩影子',1)
album2=make_album('taylorswift','you belong with me')
album3=make_album('房東的貓','雲煙成雨')

print('\n')
print(album)
print(album2)
print(album3)
def make_album(singer_name,album_name,num=''):
    singer={'歌手':singer_name,
            '專輯':album_name}
    if num:
        singer['num']=num
    return singer
while True:
    print("請輸入歌手名:")
    S_name=input("歌手名:")
    if S_name == 'q':
        break
    print("請輸入專輯名:")
    L_name=input("專輯名:")
    if L_name == 'q':
        break
    album = make_album(S_name,L_name)
    print(album)

若代碼哪裏不對,有大小夥伴看到,歡迎指正。新人入坑,真的不容易啊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章