《Python编程从入门到实践》第三章414

请尝试编写一些简短的程序来完成下面的练习,以获得一些使用Python列表的第一经验。你可能需要为每章的练习创建一个文件夹,以整洁有序的方式存储为完成各章的练习而编写的程序。

3-1 姓名

将一些朋友的姓名存储在一个列表中,并将其命名为names。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。

names = ['alice', 'john', 'hawking']
#python的foreach循环习惯了就很好用,也很优雅
for name in names:
    print(name)

3-2 问候语

继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条信息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

names = ['alice', 'john', 'hawking']
for name in names:
    print(name + ", hello ...")

3-3 自己的列表

想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would like to own a Honda motorcycle”

vehicles = ['bicycle', 'bike', 'bus']

for vehicle in vehicles:
    print("Do you like driving? No, I prefer " + vehicle)

3-4 嘉宾名单

如果你可以邀请任何人一起共进晚餐)无论是在世的还是故去的),你会邀请那些人?请创建一个列表,其中包含至少3个你想邀请的人;然后,使用这个列表打印消息,邀请者袭人来与你共进晚餐。

celebrities = ['Stephen Hawking', 'Albert Einstein', 'Laozi']

for celebrity in celebrities:
    print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

2018/3/14 A great age ended with the leaving of Stephen Hawking, who is one of the peak physicists in the world.

坦白说,我刚好在卖他的书,著名的《时间简史》,大概就是有趣。。希望量子永恒吧。
可能上帝需要有个人来完善一下黑洞。。。

3-5 修改嘉宾名单

你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。

  • 以完成练习3-4时编写的程序为基础,在程序末尾添加一条print语句,指出哪位嘉宾无法赴约。
  • 修改嘉宾名单,将无法赴约的嘉宾的姓名替换成新邀请的嘉宾的姓名。
  • 再次打印一系列信息,向名单中的每位嘉宾发出邀请。
celebrities = ['Stephen Hawking', 'Albert Einstein', 'Laozi']

for celebrity in celebrities:
    print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

print("Mr. Hawking have no time and he can not attend")

# forgive me..
celebrities[0] = 'Billy Herrington'

for celebrity in celebrities:
    print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

3-6 添加嘉宾

你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。

扫描二维码关注公众号,回复: 11284915 查看本文章
  • 以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print语句,指出你找到了一个更大的餐桌
  • 使用insert()将一位新嘉宾添加到名单开头。
  • 使用insert()将另一位新嘉宾添加到名单中间。
  • 使用append()将最后一位新嘉宾添加到名单末尾。
  • 打印一系列消息,向名单中的每位嘉宾发出邀请
celebrities = ['Stephen Hawking', 'Albert Einstein', 'Laozi']


def invite(celebrities):
    for celebrity in celebrities:
        print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

invite(celebrities)
print("Mr. Hawking have no time and he can not attend")

# forgive me..
celebrities[0] = 'Billy Herrington'

invite(celebrities)


print("I found a bigger table in TaoBao!(^o^)")

celebrities.insert(0, 'Shannon')
celebrities.insert(len(celebrities)//2, 'Xi Jinping')
celebrities.append('Mao Zedong')

invite(celebrities)

3-7 缩减名单

你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。

  • 以完成练习3-6编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。
  • 使用pop()不断删除名单中的嘉宾,知道只有两个嘉宾位置。每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐。
  • 对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
  • 使用del将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实时空的。
celebrities = ['Stephen Hawking', 'Albert Einstein', 'Laozi']


def invite(celebrities):
    for celebrity in celebrities:
        print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

invite(celebrities)
print("Mr. Hawking have no time and he can not attend")

# forgive me..
celebrities[0] = 'Billy Herrington'

invite(celebrities)


print("I found a bigger table in TaoBao!(^o^)")

celebrities.insert(0, 'Shannon')
celebrities.insert(len(celebrities)//2, 'Xi Jinping')
celebrities.append('Mao Zedong')

invite(celebrities)

print('sorry...only two is acceptable')
while len(celebrities) != 2:
    name = celebrities.pop()
    print(name + " , I am sorry")
for name in celebrities:
    print(name + " , you still are invited")

del celebrities[0]
del celebrities[0]

for name in celebrities:
    print(name)

3-8 放眼世界

想出至少五个你渴望去旅游的地方。

  • 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
  • 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。
  • 使用sorted()按字母顺序打印这个列表,同时不要修改它
  • 再次打印该列表,合适排列顺序未变。
  • 使用sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改她。
  • 再次打印该列表,核实排列顺序未变 。
  • 使用reverse()修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
  • 使用reverse()再次修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了
  • 使用sort()修改该列表,使其元素按字母顺序排列。打印该列表,合适排列顺序确实变了。
  • 使用sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,合适排列顺序确实变了。
arr = ['Japan', 'XiZang', 'XinXiang', 'Moon', 'secret']

for place in arr:
    print(place, end= ' ')
print()

for place in sorted(arr):
    print(place, end= ' ')
print()

for place in arr:
    print(place, end= ' ')
print()

for place in sorted(arr, reverse=True):
    print(place, end= ' ')
print()

for place in arr:
    print(place, end= ' ')
print()

arr.reverse()
for place in arr:
    print(place, end= ' ')
print()

arr.reverse()
for place in arr:
    print(place, end= ' ')
print()

arr.sort()
for place in arr:
    print(place, end= ' ')
print()

arr.sort(reverse=True)
for place in arr:
    print(place, end= ' ')
print()

3-9 晚餐嘉宾

在完成练习3-4~3-7时编写的程序之一中,使用len()打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。

celebrities = ['Stephen Hawking', 'Albert Einstein', 'Laozi']


def invite(celebrities):
    for celebrity in celebrities:
        print("I, sincerely invite you, " + celebrity + " to have a dinner with me.")

invite(celebrities)
print("Mr. Hawking have no time and he can not attend")

# forgive me..
celebrities[0] = 'Billy Herrington'

invite(celebrities)


print("I found a bigger table in TaoBao!(^o^)")

celebrities.insert(0, 'Shannon')
celebrities.insert(len(celebrities)//2, 'Xi Jinping')
celebrities.append('Mao Zedong')

invite(celebrities)

print('sorry...only two is acceptable')
while len(celebrities) != 2:
    name = celebrities.pop()
    print(name + " , I am sorry")
for name in celebrities:
    print(name + " , you still are invited")
#this line ...just so .
print(len(celebrities))

3-10 尝试各个函数

想想可存储到列表中的东西,如山岳、河流、国家、城市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。

略。。。

3-11 有意引发错误

如果你还没有在程序中遇到过索引错误,就尝试引一个这种错误。在你的一个程序中,修改其中的索引,以引发索引错误。关闭程序前,务必消除这个错误。

略。。。大概如这样:
IndexError: list assignment index out of range

猜你喜欢

转载自blog.csdn.net/qq_36183810/article/details/79562192