Python编程:从入门到实践(课后习题1)
****2-1 简单消息:将一条消息存储到变量中,再将其打印出来
message =("Hello,yuanchaochao")
print(message)
2-2多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。
message =("Hello,yuanchaochao")
print(message)
message=("Good morning,yuanchaochao")
print(message)
2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello
Eric, would you like to learn some Python today?”。
name=("yuanchaochao")
print("Hello "+name+" would you like learn some Python today?")
2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。
name = ("Yuan chao chao")
print(name.upper())
print(name.lower())
print(name.title())
2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, “A person who never made a mistake never tried anything new.”
print('Albert Einstein once said, “A person who never made a mistake never tried anything new.”')
2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。
famous_person=('Albert Einstein once said, “A person who never made a mistake never tried anything new.”')
print(famous_person)
2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。
打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。
name=("\tyuanchaochao\n")
print(name)
print(name.lstrip())
print(name.rstrip())
print(name.strip())
3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。
names=['yuanchao','xiaoming','xiaohua','Danny']
print(names[0])
print(names[1])
print(names[2])
print(names[3])
3-2 问候语: 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
print("Hello "+names[0])
print("Hello "+names[1])
print("Hello "+names[2])
print("Hello "+names[3])
3-3 自己的列表: 想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would
like to own a Honda motorcycle”。
drives=['motorcycle','bike']
print("I would like to own a "+drives[0] )
3-4 嘉宾名单 :如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少3个你想邀请的人;然后,使用
这个列表打印消息,邀请这些人来与你共进晚餐。
3-5 修改嘉宾名单 :你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。
以完成练习3-4时编写的程序为基础,在程序末尾添加一条print 语句,指出哪位嘉宾无法赴约。
修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
再次打印一系列消息,向名单中的每位嘉宾发出邀请。
3-6 添加嘉宾 :你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。
以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条print 语句,指出你找到了一个更大的餐桌。
使用insert() 将一位新嘉宾添加到名单开头。
使用insert() 将另一位新嘉宾添加到名单中间。
使用append() 将最后一位新嘉宾添加到名单末尾。
打印一系列消息,向名单中的每位嘉宾发出邀请。
3-7 缩减名单 :你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
以完成练习3-6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。
使用pop() 不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进
晚餐。
对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
使用del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实是空的。
invite=['yuanchao','liming','Danny']
print("I want invite"+invite[0]+invite[1]+invite[2]+"have supper")
print(invite[2]+" Can't go")
invite[2]='Janny'
print("I want invite"+invite[0]+invite[1]+invite[2]+"have supper")
print("Now I find a big table")
invite.insert(0,'wukong')
invite.insert(2,'bajie')
invite.append('shasen')
print("I want invite"+invite[0]+invite[1]+invite[2]+invite[3]+invite[4]+invite[5]+"have supper")
print("Now only can I invite two person")
person=invite.pop();
print("Sorry "+person+" I can't invite you !")
person=invite.pop();
print("Sorry "+person+" I can't invite you !")
person=invite.pop();
print("Sorry "+person+" I can't invite you !")
person=invite.pop();
print("Sorry "+person+" I can't invite you !")
print(invite[0]+" I will invite you ")
print(invite[1]+" I will invite you ")
del invite[1]
del invite[0]
print(invite)
3-8 放眼世界 :想出至少5个你渴望去旅游的地方。
将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。
使用sorted() 按字母顺序打印这个列表,同时不要修改它。
再次打印该列表,核实排列顺序未变。
使用sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。
再次打印该列表,核实排列顺序未变。
使用reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
使用reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
使用sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
使用sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
tourist = ['Hongkong','shanghai','new york']
print(tourist)
print("Here is the sorted list:")
print(sorted(tourist))
print("Herel is the original list:")
print(tourist)
tourist.reverse()
print("Here is the reverse list:")
print(tourist)
tourist.reverse()
print("Here is the reverse list:")
print(tourist)
tourist.sort()
print(tourist)
tourist.sort(reverse=True)
print(tourist)
4-1 比萨 :想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来。
修改这个for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称。对于每种比萨,都显示一行输出,如“I like pepperoni pizza”。
在程序末尾添加一行代码,它不在for 循环中,指出你有多喜欢比萨。输出应包含针对每种比萨的消息,还有一个总结性句子,如“I really love pizza!”。
pizzas=['Mushroom pizza','Pepperoni pizza','Hawaii pizza','Salmon pizza']
for pizza in pizzas:
print("I like "+pizza)
print('I really love pizza!')
4-3 数到20 :使用一个for 循环打印数字1~20(含)。
for number in range(1,21):
print(number)
4-4 一百万 :创建一个列表,其中包含数字1~1 000 000,再使用一个for 循环将这些数字打印出来(如果输出的时间太长,按Ctrl + C停止输出,或关闭输出窗口)。
squares=[]
for value in range(1,1000001):
squares.append(value)
#print(squares)
4-5 计算1~1 000 000的总和 :创建一个列表,其中包含数字1~1 000 000,再使用min() 和max() 核实该列表确实是从1开始,到1 000 000结束的。另外,对这个列表
调用函数sum() ,看看Python将一百万个数字相加需要多长时间。
squares=[]
for value in range(1,1000001):
squares.append(value)
#print(squares)
print(min(squares))
print(max(squares))
print(sum(squares))
4-6 奇数 :通过给函数range() 指定第三个参数来创建一个列表,其中包含1~20的奇数;再使用一个for 循环将这些数字都打印出来。
numb=list(range(1,20,2)) for num in numb:
print(num)
4-7 3的倍数 :创建一个列表,其中包含3~30内能被3整除的数字;再使用一个for 循环将这个列表中的数字都打印出来。
numb=list(range(3,31,3))
for num in numb:
print(num)
4-8 立方 :将同一个数字乘三次称为立方。例如,在Python中,2的立方用2**3 表示。请创建一个列表,其中包含前10个整数(即1~10)的立方,再使用一个for 循
环将这些立方数都打印出来。
cube=[]
for numb in range(1,11):
numcube=numb**3
cube.append(numcube)
for numb in cube:
print(numb)
4-9 立方解析 :使用列表解析生成一个列表,其中包含前10个整数的立方。
squares = [value**3 for value in range(1,11)]
**print(squares)
4-10 切片 :选择你在本章编写的一个程序,在末尾添加几行代码,以完成如下任务。
打印消息“The first three items in the list are:”,再使用切片来打印列表的前三个元素。
打印消息“Three items from the middle of the list are:”,再使用切片来打印列表中间的三个元素。
打印消息“The last three items in the list are:”,再使用切片来打印列表末尾的三个元素。
squares = [value**3 for value in range(1,11)]
print(squares)**
print("The first three items in the list are: ")
print(squares[:4])
print("The middle three items in the list are: ")
print(squares[3:6])
print("The last three items in the list are: ")
print(squares[-3:])
4-11 你的比萨和我的比萨 :在你为完成练习4-1而编写的程序中,创建比萨列表的副本,并将其存储到变量friend_pizzas 中,再完成如下任务。
在原来的比萨列表中添加一种比萨。
在列表friend_pizzas 中添加另一种比萨。
核实你有两个不同的列表。为此,打印消息“My favorite pizzas are:”,再使用一个for 循环来打印第一个列表;打印消息“My friend’s favorite pizzas are:”,再使用一
个for 循环来打印第二个列表。核实新增的比萨被添加到了正确的列表中。
pizzas=['Mushroom pizza','Pepperoni pizza','Hawaii pizza','Salmon pizza']
friend_pizzas=pizzas[:]
pizzas.append('apple pizza')
friend_pizzas.append('meat pizza')
for pizza in pizzas:
print("My favorite pizzas are "+pizza)
for pizza in friend_pizzas:
print("My friend favorite pizzas are "+pizza)
4-13 自助餐 :有一家自助式餐馆,只提供五种简单的食品。请想出五种简单的食品,并将其存储在一个元组中。
使用一个for 循环将该餐馆提供的五种食品都打印出来。
尝试修改其中的一个元素,核实Python确实会拒绝你这样做。
餐馆调整了菜单,替换了它提供的其中两种食品。请编写一个这样的代码块:给元组变量赋值,并使用一个for 循环将新元组的每个元素都打印出来。
menu=('noodle','dumplines','apple','orange','chicken')
for food in menu:
print(food)
#menu(1)='baozi'
menu=('noodle','dumplines','apple','orange','mianbao')
for food in menu:
print(food)****