ch01
# 打印hello world
print('hello world')
ch02 变量与简单数据类型
message = "Hello Python world!" # message即是一个变量
print(message)
message = "Hello Python Crash Course world!"
print(message)
# 将一条消息存储到变量中,再将其打印出来。
words = "Hi, My name is uangianlap. I am learning Python now."
print(words)
# 将一条消息存储到变量中, 将其打印出来; 再将变量的值修改为一条新消息, 并将其打印出来。
words = "Which language is the best?"
print(words)
words = "Which language is the best, Python or Java?"
print(words)
# 将用户的姓名存到一个变量中, 并向该用户显示一条消息。 显示的消息应非常简单, 如“Hello Eric, would you like to learn some Python today?”。
name = 'Eric'
print("Hello " + name + ", would you like to learn some Python today?")
# 将一个人名存储到一个变量中, 再以小写、 大写和首字母大写的方式显示这个人名。
name = "uangianlap"
print(name.lower())
print(name.upper())
print(name.title())
# 找一句你钦佩的名人说的名言, 将这个名人的姓名和他的名言打印出来。 输出应类似于下面这样( 包括引号) :
Albert Einstein once said, “A person who never made a mistake never tried anything new.”
famous_person = "Albert Einstein"
message = "A person who never made a mistake never tried anything new."
print(famous_person + " said, " + message)
# 存储一个人名, 并在其开头和末尾都包含一些空白字符。 务必至少使用字符组合"\t" 和"\n" 各一次。
打印这个人名, 以显示其开头和末尾的空白。 然后, 分别使用剔除函数lstrip() 、 rstrip() 和strip() 对人名进行处理, 并将结果打印出来。
person = ' \njames\t'
print("My name is " + person + "!")
print("My name is " + person.strip() + "!")
print("My name is " + person.lstrip() + "!")
print('My name is ' + person.rstrip() + '!')
# 编写4个表达式, 它们分别使用加法、 减法、 乘法和除法运算, 但结果都是数字8。 为使用print 语句来显示结果, 务必将这些表达式用括号括起来, 也就是说, 你应该编写4行类似于下面的代码:print(5+3)
print(4+4)
print(10-2)
print(1*8)
print(16//2)
# 最喜欢的数字: 将你最喜欢的数字存储在一个变量中, 再使用这个变量创建一条消息, 指出你最喜欢的数字, 然后将这条消息打印出来。
fav_num = 7
print('my favorite num is ' + str(fav_num))
ch03 列表
# 将一些朋友的姓名存储在一个列表中, 并将其命名为names 。 依次访问该列表中的每个元素, 从而将每个朋友的姓名都打印出来。
friends = ['bob', 'James', 'sue', 'lily']
print('My first friend is ' + friends[0])
print('My second friend is ' + friends[1])
print('My third friend is ' + friends[2])
print('My fourth friend is ' + friends[3])
# 接上一题,但不打印每个朋友的姓名, 而为每人打印一条消息。 每条消息都包含相同的问候语, 但抬头为相应朋友的姓名。
friends = ['bob', 'James', 'sue', 'lily']
greeting = ",good morning!"
print(friends[0] + greeting)
print(friends[1] + greeting)
print(friends[2] + greeting)
print(friends[3] + greeting)
# 想想你喜欢的通勤方式, 如骑摩托车或开汽车, 并创建一个包含多种通勤方式的列表。 根据该列表打印一系列有关这些通勤方式的宣言, 如“I would like to own a Honda motorcycle”。
commuting = ['bike', 'bus', 'subway', 'motorcycle']
print("I would like to won a Giant " + commuting[0])
print("I would like to won a " + commuting[1])
print("I would like to won a " + commuting[2])
print("I would like to won a BMW " + commuting[3])
# 如果你可以邀请任何人一起共进晚餐( 无论是在世的还是故去的) , 你会邀请哪些人? 请创建一个列表, 其中包含至少3个你想邀请的人; 然后, 使用这个列表打印消息, 邀请这些人来与你共进晚餐。
person = ['比尔盖驰', '扎克伯格', '李安']
print('我相请' + person[0] + '共进晚餐.')
print('我相请' + person[1] + '共进晚餐.')
print('我相请' + person[2] + '共进晚餐.')
# 你刚得知有位嘉宾无法赴约, 因此需要另外邀请一位嘉宾。
以完成练习3-4时编写的程序为基础, 在程序末尾添加一条print 语句, 指出哪位嘉宾无法赴约。
修改嘉宾名单, 将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
再次打印一系列消息, 向名单中的每位嘉宾发出邀请。
print(person[2] + '无法参加晚餐')
person.pop()
person.append('马云')
print('我相请' + person[0] + '共进晚餐.')
print('我相请' + person[1] + '共进晚餐.')
print('我相请' + person[2] + '共进晚餐.')
# 你刚找到了一个更大的餐桌, 可容纳更多的嘉宾。 请想想你还想邀请哪三位嘉宾
print('我刚刚找到了一张更大的餐桌.')
person.insert(0, '李嘉诚')
print(person)
person.insert(2, '卡内基')
person.append('张艺谋')
print('我相请' + person[0] + '共进晚餐.')
print('我相请' + person[1] + '共进晚餐.')
print('我相请' + person[2] + '共进晚餐.')
print('我相请' + person[3] + '共进晚餐.')
print('我相请' + person[4] + '共进晚餐.')
# 你刚得知新购买的餐桌无法及时送达, 因此只能邀请两位嘉宾。以完成练习3-6时编写的程序为基础, 在程序末尾添加一行代码, 打印一条你只能邀请两位嘉宾共进晚餐的消息。
# 使用pop() 不断地删除名单中的嘉宾, 直到只有两位嘉宾为止。 每次从名单中弹出一位嘉宾时, 都打印一条消息, 让该嘉宾知悉你很抱歉, 无法邀请他来共进晚餐。
# 对于余下的两位嘉宾中的每一位, 都打印一条消息, 指出他依然在受邀人之列。使用del 将最后两位嘉宾从名单中删除, 让名单变成空的。 打印该名单, 核实程序结束时名单确实是空的。
print('刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾.')
person.pop()
person.pop()
person.pop()
print('现在只剩下2位嘉宾了,他们是:')
print('我相请' + person[0] + '共进晚餐.')
print('我相请' + person[1] + '共进晚餐.')
del person[0]
del person[0]
print(person)
# 想出至少5个你渴望去旅游的地方。
# 将这些地方存储在一个列表中, 并确保其中的元素不是按字母顺序排列的。
places = ['Tokyo', 'Paris', 'London', 'New York', 'HongKong']
# 按原始排列顺序打印该列表。 不要考虑输出是否整洁的问题, 只管打印原始Python列表。
print(places)
# 使用sorted() 按字母顺序打印这个列表, 同时不要修改它。
sorted(places)
# 再次打印该列表, 核实排列顺序未变。
print(places)
# 使用sorted() 按与字母顺序相反的顺序打印这个列表, 同时不要修改它。
sorted(places, reverse=True)
# 再次打印该列表, 核实排列顺序未变。
print(places)
# 使用reverse() 修改列表元素的排列顺序。 打印该列表, 核实排列顺序确实变了。
places.reverse()
print(places)
# 使用reverse() 再次修改列表元素的排列顺序。 打印该列表, 核实已恢复到原来的排列顺序。
places.reverse()
print(places)
# 使用sort() 修改该列表, 使其元素按字母顺序排列。 打印该列表, 核实排列顺序确实变了。
places.sort()
print(places)
# 使用sort() 修改该列表, 使其元素按与字母顺序相反的顺序排列。 打印该列表, 核实排列顺序确实变了。
places.sort(reverse=True)
print(places)
ch04 操作列表
# 想出至少三种你喜欢的比萨, 将其名称存储在一个列表中, 再使用for 循环将每种比萨的名称都打印出来。修改这个for 循环, 使其打印包含比萨名称的句子, 而不仅仅是比萨的名称。 对于每种比萨, 都显示一行输出, 如“I like pepperoni pizza”。
# 在程序末尾添加一行代码, 它不在for 循环中, 指出你有多喜欢比萨。 输出应包含针对每种比萨的消息, 还有一个总结性句子, 如“I really love pizza!”。
pizzas = ['pizza', 'pizza', 'California']
for pizza in pizzas:
print('I like ' + pizza + ' pizza')
print("I really love pizza!")
# 想出至少三种有共同特征的动物, 将这些动物的名称存储在一个列表中, 再使用for 循环将每种动物的名称都打印出来。
# 修改这个程序, 使其针对每种动物都打印一个句子, 如“A dog would make a great pet”。
# 在程序末尾添加一行代码, 指出这些动物的共同之处, 如打印诸如“Any of these animals would make a great pet!”这样的句子。
animals = ['cat', 'dog', 'rabbit', 'monkey']
for animal in animals:
print("a " + animal + ' would make a great pet')
print("Any of these animals would make a great pet!")
# 使用一个for 循环打印数字1~20( 含) 。
for i in range(1, 21):
print(i)
# 创建一个列表, 其中包含数字1~1 000 000, 再使用一个for 循环将这些数字打印出来( 如果输出的时间太长, 按Ctrl + C停止输出, 或关闭输出窗口) 。
long_list = list(range(1, 1000001))
for num in long_list:
print(num)
# 创建一个列表, 其中包含数字1~1 000 000, 再使用min() 和max() 核实该列表确实是从1开始, 到1 000 000结束的。
# 另外, 对这个列表调用函数sum() , 看看Python将一百万个数字相加需要多长时间。
long_list = list(range(1, 1000001))
mini = min(long_list)
maximum = max(long_list)
sum = sum(long_list)
print(mini)
print(maximum)
print(sum)
# 通过给函数range() 指定第三个参数来创建一个列表, 其中包含1~20的奇数; 再使用一个for 循环将这些数字都打印出来。
odds = list(range(1, 21, 2))
for odd in odds:
print(odd)
# 建一个列表, 其中包含3~30内能被3整除的数字; 再使用一个for 循环将这个列表中的数字都打印出来。
my_list = [i for i in range(3, 31) if i % 3 == 0]
print(my_list)
# 将同一个数字乘三次称为立方。 例如, 在Python中, 2的立方用2**3 表示。 请创建一个列表, 其中包含前10个整数( 即1~10) 的立方,
# 再使用一个for 循环将这些立方数都打印出来。
cube = [i ** 3 for i in range(1, 11)]
for num in cube:
print(num)
# 选择你在本章编写的一个程序, 在末尾添加几行代码, 以完成如下任务。
# 打印消息“The first three items in the list are:”, 再使用切片来打印列表的前三个元素。
# 打印消息“Three items fromthe middle of the list are:”, 再使用切片来打印列表中间的三个元素。
# 打印消息“The last three items in the list are:”, 再使用切片来打印列表末尾的三个元素。
u = ['china', 'england', 'usa', 'france', 'russia']
print('The first three items in the list are:' + str(u[:3]))
print('Three items from the middle of the list are:' + str(u[1:4]))
print('The last three items in the list are:' + str(u[2:]))
# 在你为完成练习4-1而编写的程序中, 创建比萨列表的副本, 并将其存储到变量friend_pizzas 中, 再完成如下任务。
pizzas = ['pizza', 'pizza', 'California']
friend_pizzas = pizzas[:]