往期
回顾
前言
今天整理的内容比较琐碎,当然也很基础,毕竟还在入门阶段,主要是上下班途中看书或刷题遇到的知识点的回顾与总结!希望能够对各位观众老爷们有所帮助!
内容主要出自:《Python编程:从入门到实践》书后练习
1
数到20:使用for循环打印数字1~20(含20)。
for i in range(1,21):
print(i)
print("That\'s all")
#补充 break终止未完结的for、while循环
for letter in "HEllO WORLD":
if letter == "R":
break
print("The word:",letter,"doesn't match R")
Output:
2
创建一个列表,包含数字1~1 000 000,使用一个for循环将这数字打印出来
list_1=list(range(1,1000001))
for i in list_1:
print(i)
if i == 100:
break
#random的用法 随缘匹配
import random
for i in range(1,51):
if i == random.randrange(1,21,2):
print("这是我想要的奇数:",i)
#判断是否为质数
num = int(input("Please enter a number:"))
for i in range(2,num):
if num%i == 0:
print(str(num),"is not a prime number.")
break
else:
print(str(num),"is a true number")
Output:
补充:
#1~100以内的质数
#质数为只有1与该数本身两个因数的数
print(str(2),"this is a true number")
for num in range(2,101):
for i in range(2,num):
if num%i == 0:
print(str(num),"is a not prime number.")
else:
print(str(num),"this is a true number")
break
Output:
#continue的用法
#continue jumps back to the top of the loop,rather than stopping it
i=0
while True:
i+=1
if i==2:
print("Skipping this step!")
continue
if i==5:
print("Oh,it's time to out the loop!")
break
print(i)
print("Finished")
Output:
#break结束整个循环,continue结束单次循环
print("This is the function of 'break':")
for i in range(1,10):
if i==5:
break
print(i)
print("\n""This is the function of 'continue':")
for i in range(1,10):
if i==5:
continue
print(i)
Output:
3
计算1~1 000 000的总和,包含数字1~1 000 000 ,再使用min( )、max( )核实该列表确实是从1开始,到1 000 000 结束的。另外,对这个列表调用函数sum( ) ,看看python将这一百外个数字相加需要多长时间。
value=list(range(1,1000001))
print(min(value))
print(max(value))
print(sum(value))
Output:
4
奇数:通过给函数range( )指定第三个参数来创建一个列表,其中包含1~20的奇数;再使用一个for循环将这些数字都打印出来。
value=list(range(1,21,2))
for i in value:
print(i)
Output:
5
3的倍数:创建一个列表,其中包含3~30内能被3整除的数字,再使用一个for循环将这个列表中的数字都打印出来。
value=list(range(1,31))
new_value=[]
for i in value:
if i%3==0:
new_value.append(i)
print(new_value)
for num in new_value:
print(num)
Output:
5
立方:请创建一个列表,其中包含前10个整数(即1~10)的立方,再使用一个for循环将这些立方数都打印出来。
5
立方解析:使用列表解析生成一个列表,其中包含前10个整数的立方。
triple=[]
for i in list(range(1,11)):
num=i**3
triple.append(num)
print(triple)
for num in triple:
print(num)
list=[value **3 for value in range(1,11)]
print(list)
Output:
补充:
#列表解析:Python迭代机制的一种应用,常用于实现创建新的列表。
#语法:[expression for iter_val in iterable]或者 [expression for iter_val in iterable if cond_expr]
#实现两个列表中的元素逐一配对
#解法1
list_1=["x","y","z"]
list_2=[1,2,3]
new_list=[]
for i in range(0,3):
for j in range(0,3):
new_list.append((list_1[int(i)],list_2[int(j)]))
print(new_list)
#列表解析
list_1=["x","y","z"]
list_2=[1,2,3]
new_list=[((list_1[int(i)],list_2[int(j)]))
for i in range(0,3) for j in range(0,3)]
print(new_list)
#zip函数打包 优化
list_1=["x","y","z"]
list_2=[1,2,3]
new_list=[(i,j) for i,j in zip(list_1,list_2)]
Output:
#生成9*9乘法表
#解法1
for i in range(1,10):
for j in range(i,10):
sum=i*j
print("%s*%s=%2s" %(i,j,sum),end=" ")
#完成j循坏,换行
print("")
#解法2
for i in range(1,10):
for j in range(1,i+1):
sum=i*j
print("%s*%s=%2s" %(j,i,sum),end=" ")
print("")
#列表优化
print('\n'.join([''.join(['%s*%s=%-2s '%(y,x,x*y)
for y in range(1,x+1)])
for x in range(1,10)]))
Output:
8
切片:选择你在本章编写的一个程序,在末尾添加几行代码,以完成以下任务。
· 打印消息“The first three items in the list are:”再使用切片来打印列表的前三个元素。
· 打印消息“Three items firm the middle of the list are:”,再使用切片来打印列表中间的三个元素。
· 打印消息“The last three items in the list are:”,再使用切片来打印列表末尾的三个元素。
my_foods = ['pizza', 'falafel', 'carrot cake', 'ice cream', 'chicken', 'banbana']
# 列表index从0开始,切片左闭右开原则,“:”省略,默认开头或者末尾
print(my_foods[:]) #省略全部,代表截取全部内容,可以用来将一个列表拷给另一个列表
print(my_foods[:3]) #省略起始位置的索引,以及步长。默认起始位置从头开始,默认步长为1,结束位置索引为3
print(my_foods[1:len(my_foods)-2])
print(my_foods[::2]) #每隔两个输出
print(my_foods[-3:]) #反向取值
Output:
9
你的披萨和我的披萨:在你为完成4-1而编写的程序中,创建比萨列表的副本,并将其存储到变量friend_pizzas中,在完成如下练习。
在原来的比萨列表中添加一种披萨。
· 在列表friend_pizzas中添加另一种披萨。
· 核实你有两个不同的列表。为此,打印消息“My favourite pizzas are:”,再用一个for循环来打印第一个列表;打印消息“My friend’s favourite pizzas are:”,再使用一个for循环来打印第二个列表。核实新增的比萨被添加了到正确的列表中。
my_foods = ['pizza', 'falafel', 'carrot cake', 'ice cream', 'chicken', 'banbana']
friend_pizzas=my_foods[:]
my_foods.append("nuts")
friend_pizzas.append("apple")
#print(friend_pizzas)
print("My favourite pizzas are:",my_foods)
for food in friend_pizzas:
print(food)
Output:
9
自助餐:有一家自助餐,只提供五种简单的食品。请想出五种简单的视频,并将其存储在一个元祖中。
· 使用一个for循环将这餐馆提供的五种食品都打印出来。
· 尝试修改其中的一个元素,核实python确实会拒绝你的操作。
· 餐馆调整了菜单,替换了两种食品。请编写一个代码块:
· 给元祖变量赋值,并使用一个 for循环将新元祖的每个元素打印出来。
print("old_menu:")
menu=("apple","pear","bannana","waterlemon","peach")
for food in menu:
print(food)
#foods[2]="stawberry"
print("\n""new_mune:")
new_menu=("apple","pear","stawberry","waterlemon","cherry")
for new_food in new_menu:
print(new_food)
Output:
补充:
values=list(range(1,11))
print(values)
print(values[:])
print(values[1:11:2])#从第2个元素取,到第11个结束,每隔2取一次
print(values[2:11:2])#从第3个元素取,到第11个结束,每隔2取一次
print(len(values))#列表中元素个数
Output:
#the "index" method finds the first occurrence of a list item and return its indexand returns its index
value=[1,2,3,4,5,6,7,8,9,10]
print(value.index(1))
print(value.index(11))
Output:
#depend on the immutable or mutable object,
#function argument could be "by value" or "by reference"
def fun(x):
x*=3
print(x)
x=3
fun(x)
print(x)
#列表元素可改变,传递
x=[1,2]
fun(x)
print(x)
#元祖不可变
x=(1,2)
fun(x)
print(x)
Output:
#the function of none
hoo=""
poo_1=print("ant text")
poo_2="any text"
foo=print("")
print(hoo==None)
print(poo_1==None)
print(poo_2==None)
print(foo==None)
#explanation:hoo is assigned to an empty string.But it's indeed a string!
#poo is assigned to what the function print returns.But itselt returns nothing!
Output:
#a test of dictionary:{}
primes=
print(primes[primes[3]])
#Dictionary.get()函数返回指定键的值,如果值不存在时返回默认值
primes_1=
print(primes.get(3,4)+primes.get(6,7))
#4+7
Output:
#实现两个列表中的元素逐一配对
list_1=["x","y","z"]
list_2=[1,2,3]
new_list=[]
for i inrange(0,3):
for j in range(0,3):
new_list.append(list_1[int(i)],list_2[int(j)])
print(new_list)
#extend和append的区别:
#extend( )接受一个列表参数,把列表参数的元素逐项添加到列表的尾部,append( )接受一个对象参数,把对象添加到列表的尾部。
list=[1,2]
print(list.extend[1,2,3])
>>> [1,2,1,2,3]
print(list.append[1,2,3])
>>>[1,2,[1,2,3]]
属于自己的皮球
下期
预告
额....异常捕捉
领取专属 10元无门槛券
私享最新 技术干货