【Pythonプログラミング:入門から実践まで】練習問題の答え--第八章:】
6237 ワード
# 8-1 : display_message() , , 。
# , 。
def display_message():
print(' :def( )')
display_message()
# 8-2 : favorite_book() , title 。 ,
# One of my favorite books isAlice in Wonderland 。 , 。
def favorite_book(title,price):
print('One of my favorite books is: ' + title)
favorite_book('java ','')
# 8-3 T : make_shirt() , T 。
# , T 。
# T ; 。
def make_shirt(size,msg):
if msg == '':
print(' t :' + size + '; :' + ' ')
else:
print(' t :' + size + '; :' + msg)
make_shirt('XXXL','')
make_shirt('XXXL',msg = 'hello_world!')
# 8-4 T : make_shirt() , “I love Python” T 。
# T : T 、
# T T ( ) 。
def make_shirt(size,msg = 'I love Python'):
print(' t :' + size + '; :' + msg)
make_shirt(' T ')
make_shirt(' T ')
make_shirt(' T ',' ')
# 8-5 : describe_city() , 。
# , Reykjavik is in Iceland 。 。
# , 。
def describe_city(city_name,city_belong_country = 'china'):
print(city_name + ' is in ' + city_belong_country)
describe_city('shanghai')
describe_city('beijing')
describe_city('DC','america')
# 8-6 : city_country() , 。
# :"Santiago, Chile"
# - , 。
def city_country(city_name,city_belong_country):
city_country1 = city_name + ',' +city_belong_country
return city_country1
a = city_country('shanghai','china')
b = city_country('beijing','china')
c = city_country('DC','America')
print(a)
print(b)
print(c)
# 8-7 : make_album() , 。
# , 。 ,
# , 。 make_album() ,
# 。 , 。
# , 。
def make_album(singer_name,album_name,song_number = ''):
if song_number:
s_a = {'singer_name':singer_name,'album_name':album_name,'song_number' : song_number}
else:
s_a = {'singer_name':singer_name,'album_name':album_name}
return s_a
a = make_album('HanHong','QingZangGaoYuan','5')
b = make_album('AndiLiu','WangQingShui')
c = make_album('LiuHuan','YouAndMe','7')
print(a)
print(b)
print(c)
# 8-8 : 8-7 , while , 。
# , make_album() , 。 while , 。
def make_album(singer_name,album_name,song_number = ''):
if song_number:
s_a = {'singer_name':singer_name,'album_name':album_name,'song_number' : song_number}
else:
s_a = {'singer_name':singer_name,'album_name':album_name}
return s_a
s_n_inp = ' :( ’quit‘ )'
a_n_inp = ' :( ’quit‘ )'
ac = True
while ac:
a = input(s_n_inp)
b = input(a_n_inp)
if a == 'quit' or b == 'quit' :
break
else:
c = make_album(a,b)
print(c)
# 8-9 : , show_magicians() , 。
name_list = ['mag1','mag2','mag3']
def show_magicians():
for name in name_list:
print(name)
show_magicians()
# 8-10 : 8-9 , make_great() ,
# , “theGreat”。 show_magicians() , 。
name_list = ['mag1','mag2','mag3']
name_change = []
def make_great(name_list,name_change):
while name_list:
cur = name_list.pop()
cur = 'great' + cur
name_change.append(cur)
def show_magicians(name_change):
for name in name_change:
print(name)
make_great(name_list,name_change)
show_magicians(name_change)
# 8-11 : 8-10 , make_great() , 。
# , , 。 show_magicians() ,
# , “the Great” 。
name_list = ['mag1','mag2','mag3']
name_change = []
def make_great(name_list,name_change):
while name_list:
cur = name_list.pop()
cur = 'great' + cur
name_change.append(cur)
def show_magicians(name_change)
for name in name_change:
print(name)
make_great(name_list[:],name_change)
show_magicians(name_list)
show_magicians(name_change)
# 8-12 : , 。 ( ) ,
# , 。 , 。
def sand_make(*ingredients):
print( ' :')
for i in ingredients:
print('--' + i)
sand_make('1','2','3','4')
sand_make('0')
sand_make('1','2')
# 8-13 : user_profile.py, build_profile() ;
# , , - 。
def user_profile(first,last,**else_info):
name_file = {}
name_file['first_name'] = first
name_file['last_name'] = last
for k ,v in else_info.items():
name_file[k] = v
return name_file
user_a = user_profile('ma','yun',company = 'TaoBao',Sex = 'man')
print(user_a)
user_b = user_profile('1','2',Sex = 'man')
print(user_b)
# 8-14 : , 。 , 。
# : , — , 。 :
# car = make_car('subaru', 'outback', color='blue', tow_package=True)
# , 。
def car_msg(manufacturer,model,**else_info):
bas_msg = {}
bas_msg['manufacturer'] = manufacturer
bas_msg['model'] = model
for k ,v in else_info.items():
bas_msg[k] = v
return bas_msg
car = car_msg('subaru', 'outback', color='blue', tow_package=True)
print(car)