首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

碎片化学习-知识点梳理1

往期

回顾

前言

今天整理的内容比较琐碎,当然也很基础,毕竟还在入门阶段,主要是上下班途中看书或刷题遇到的知识点的回顾与总结!希望能够对各位观众老爷们有所帮助!

内容主要出自:《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]]

属于自己的皮球

下期

预告

额....异常捕捉

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G010GD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券