高级编程技术 week3 第六章

6-1 人:使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name、last_name、age和city。将存储在该字典中的每项信息都打印出来。

person = {'first_name' : 'Ming', 'last_name' : 'Li', 'age' : 19, 'city' : 'Guangzhou'}
print(person['first_name'])
print(person['last_name'])
print(person['age'])
print(person['city'])

6-2 喜欢的数字:使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

favorite_num = {'Bob' : 1, 'Mary' : 6, 'Tom' : 8, 'Alice' : 5, 'Jack' : 3}
print(favorite_num)

6-3 词汇表:Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。

    1)想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。

    2)以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n)插入一个空行,然后在下一行以缩进的方式打印词汇的含义。

languages = {'j' : 'java', 'p' : 'python', 'm' : 'matlab', 'C' : 'C', 'a' : 'aauto'}
for key, value in languages.items():
    print(key + ":" + value)

6-5 河流:创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 。

 使用循环为每条河流打印一条消息,如“The Nile runs through Egypt.”。

 使用循环将该字典中每条河流的名字都打印出来。

 使用循环将该字典包含的每个国家的名字都打印出来。

rivers = {'nile' : 'egypt', 'yangtze river' : 'china', 'mekong' : 'thailand'}
for key, value in rivers.items():
    print('The %s runs thought %s.'%(key.title(),value.title()))
for key in rivers.keys():
    print('the ' + key.title())
for value in rivers.values():
    print(value.title())

6-6 调查:在6.3.1节编写的程序favorite_languages.py中执行以下操作。

    1)创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。

    2)遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

favorite_languages = {  
    'jen' : 'python',  
    'sarah' : 'c',  
    'edward' : 'ruby',  
    'phill' : 'python',  
}
interviewers = ['jen', 'bob', 'sarah', 'phill', 'alice']
for name in interviewers:
    if name in favorite_languages.keys():
        print('Thank you, %s'%name)
    else:
        print('Welcome, %s'%name)

6-7 人:在为完成练习6-1而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为people的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。

person1 = {'first_name' : 'Ming', 'last_name' : 'Li', 'age' : 19, 'city' : 'Guangzhou'}
person2 = {'first_name' : 'Mei', 'last_name' : 'Hang', 'age' : 21, 'city' : 'Beijing'}
person3 = {'first_name' : 'Wei', 'last_name' : 'Zhao', 'age' : 17, 'city' : 'Hangzhou'}
people = [person1, person2, person3]
for person in people:
    for key, value in person.items():
        print(key + ':' + str(value))

6-8 宠物:创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为pets的列表中,再遍历该列表,并将宠物的所有信息都打印出来。

Lily = {'type' : 'dog', 'owner' : 'Alice'}
Tom = {'type' : 'cat', 'owner' : 'Bob'}
July = {'type' : 'rabbit', 'owner' : 'James'}
pets = [Lily, Tom, July]
for pet in pets:
    for key, value in pet.items():
        print(key + ':' + value)

6-10 喜欢的数字:修改为完成练习6-2而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。 

favorite_num = {
    'Bob' : [1, 2],
    'Mary' : [6, 8, 9],
    'Tom' : [2, 4, 6],
    'Alice' : [0, 5],
    'Jack' : [3, 6, 9]
}
for person, nums in favorite_num.items():
    print(person)
    for num in nums:
        print(num)

6-11 城市:创建一个名为cities的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该 城市的事实。在表示每座城市的字典中,应包含country、population和fact等键。将每座城市的名字以及有关它们的信息都打印出来。

cities = {
    'city1' : {'country' : 'Canada', 'population' : '80000', 'fact' : 'X'},
    'city2' : {'country' : 'Brazil', 'population' : '76000', 'fact' : 'Y'},
    'city3' : {'country' : 'Japan', 'population' : '59000', 'fact' : 'Z'}
}
for key, value in cities.items():
    print(key)
    for key2, value2 in value.items():
        print(key2 + ':' + value2)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值