python从入门到实践第六章练习

'''
6-1 使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键
first_name 、 last_name 、 age 和 city 。将存储在该字典中的每项信息都打印出来。
'''
friend = {'first_name':'zhang','last_name':'san','age':24,'city':'shanghai',}
print(friend['first_name'])
print(friend['last_name'])
print(friend['age'])
print(friend['city'])

'''
6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典中的键;
想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。
打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
'''
print('--------')
friends = {'zhangsan':4,'lisi':6,'wangwu':7,'xiaoming':8,'xiaohong':9}
for name,number in friends.items():
print(name.title()+'`s favorite number is '+str(friends[name]))
print('--------')
friends = {'zhangsan': 4, 'lisi': 6, 'wangwu': 7, 'xiaoming': 8, 'xiaohong': 9}
for name, number in friends.items():
print(name.title() + ' your favorite number is ' + str(number) + '?')

if 'zhangsan' in friends.keys():#避免重复.keys()避免了for语句历遍所有的value并输出

    if number == 4:
        print('yes')
print(name.title() + '`s favorite number is ' + str(number) + '.')
if 'lisi' in friends.keys():
    if number == 6:
        print('yes')
print(name.title() + '`s favorite number is ' + str(number) + '.')
if 'wangwu' in friends.keys():
    if number == 7:
        print('yes')
print(name.title() + '`s favorite number is ' + str(number) + '.')
if 'xiaoming' in friends.keys():
    if number == 8:
        print('yes')
print(name.title() + '`s favorite number is ' + str(number) + '.')
if 'xiaohong' in friends.keys():
    if number == 9:
        print('yes')
print(name.title() + '`s favorite number is ' + str(number) + '.')

'''
6-3 词汇表 : Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,
再打印词汇的含义;也可在一行打印词汇,再使用换行符( \n )插入一个空行,
然后在下一行以缩进的方式打印词汇的含义。
'''
print('--------')
vocabulars = {'apple':'苹果','banana':'香蕉','watermalon':'西瓜','lemon':'柠檬','strawberry':'草莓'}
for vocabular,mean in vocabulars.items():
print('\n'+vocabular)
print(vocabulars[vocabular])
'''
6-4 词汇表 2 :既然你知道了如何遍历字典,现在请整理你为完成练习 6-3 而编写的代码,将其中的一系列
print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,
再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。
'''
print('--------')
vocabulars = {'apple':'苹果','banana':'香蕉','watermalon':'西瓜','lemon':'柠檬','strawberry':'草莓'}
for vocabular in vocabulars.keys():
print(vocabular)
for mean in vocabulars.values():
print(mean)
for vocabular,mean in vocabulars.items():
print(vocabular+':'+'\t'+vocabulars[vocabular])

'''
6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键 — 值对可能是 'nile': 'egypt' 。
使用循环为每条河流打印一条消息,如 “The Nile runs through Egypt.” 。
使用循环将该字典中每条河流的名字都打印出来。
使用循环将该字典包含的每个国家的名字都打印出来。
'''
rivers = {'nile': 'egypt','amazon': 'Brazil ', 'Yangtze': 'china' }
for river,country in rivers.items():
print('The '+river.title()+' runs through '+country.title())
for river in rivers.keys():
print(river.title())
for country in rivers.values():
print(country.title())

'''
6-6 调查 :在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。
'''
print('--------')
favorite_languages = {
'jen':'python',
'sarah':'C',
'edward':'ruby',
'phil':'C',
}
names = ['jen','edward','phil','john','david']
for name in names:
if name in favorite_languages.keys():
print(name.title()+' thank you for taking the poll '+'.')
else:
print(name.title()+' please take part in the poll'+'.')
'''
6-7 人 :在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储
在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。
'''
print('--------')
friend_1 = {'first_name':'zhang','last_name':'san','age':24,'city':'shanghai',}
friend_2 = {'first_name':'li','last_name':'si','age':28,'city':'beijing',}
friend_3 = {'first_name':'wang','last_name':'wu','age':17,'city':'chengdu',}
people = [friend_1,friend_2,friend_3]
for friend in people:
print(friend)

'''
6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,
包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets的列表中,
再遍历该列表,并将宠物的所有信息都打印出来。
'''
print('--------')
pets = []
wangcai = {'type':'dog','host_name':'qiangdong'}
pets.append(wangcai)#易犯的错误:pets.append('wangcai').这样会出现仅仅把‘wangcai’这个字符存入列表了,并没有将字典存入列表。
zhaocai = {'type':'cat','host_name':'mayun'}
pets.append(zhaocai)
laifu = {'type':'pig','host_name':'yonghao'}
pets.append(laifu)
for pet in pets:
print(pet)
'''
6-9 喜欢的地方 :创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;
对于其中的每个人,都存储他喜欢的 1~3 个地方。为让这个练习更有趣些,
可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。
'''
print('--------')
favorite_places = {'zhangsan':{'nanjing','xihu'},
'lisi':{'emeishang','dujiangyan','zhangjiajie'},
'wangwu':{'jiuhuashang'}
}
for name,places in favorite_places.items():
if name in favorite_places.keys():#如果改成for name in favorite_places.keys():则会出现多余重复。
print(name.title() + 's favorite places are\t') for place in favorite_places[name]: print(place) ''' 6-10 喜欢的数字 :修改为完成练习 6-2 而编写的程序, 让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来. ''' print('--------') friends = {'zhangsan':{4,5}, 'lisi':{6,7,8}, 'wangwu':{7,12,56}, 'xiaoming':{8,25}, 'xiaohong':{9}, } for name,numbers in friends.items(): if name in friends.keys(): print(name.title()+'s favorite numbers are:')
for numbers in friends[name]:
print(numbers)
'''
6-11 城市 :创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,
并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,
应包含 country 、 population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来。
'''
print('--------')
cities = {'shanghai':{'country':'China','populaton':20000000,'fact':'Financial Center'},
'biejing':{'country':'China','populaton':25000000,'fact':'political Center'},
'paris':{'country':'France','populaton':3000000,'fact':'City of romance'},
'new york':{'country':'America','populaton':2700000,'fact':'International metropolis'},
}
for city_name,city_info in cities.items():
if city_name in cities.keys():
print(city_name.title()+'`s informations are:')
print(cities[city_name])

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容