break 语句
break 语句可用于while 和for 循环,用来结束整个循环。当有嵌套循环时,break 语句只能跳出最近一层的循环。
while True:
a = input("请输入一个字符(输入Q 或q 结束)")
if a.upper()=='Q':
print("循环结束,退出")
break
else:
print(a)
continue语句
continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。
empnum=0
slary=[]
slarys=0
s = input("请输入员工号或者输入Q退出")
while s!='Q':
if float(s)<0:
print('请输入正整数')
continue
else:
empnum+=1
slary.append(s)
slarys+=float(s)
s = input("请输入员工号或者输入Q退出")
print(slarys)
else 语句
while、for 循环可以附带一个else 语句(可选)。如果for、while 语句没有被break 语句
结束,则会执行else 子句,否则不执行。语法格式如下:
salarySum= 0
salarys = []
for i in range(4):
s = input("请输入一共4 名员工的薪资(按Q 或q 中途结束)")
if s.upper()=='Q':
print("录入完成,退出")
break
if float(s)<0:
continue
salarys.append(float(s))
salarySum += float(s)
else:
print("您已经全部录入4 名员工的薪资")
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/4))
循环代码优化
1. 尽量减少循环内部不必要的计算
2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
3. 局部变量查询较快,尽量使用局部变量
列表推导式
[表达式for item in 可迭代对象]
[x*2 for x in range(1,20) if x%5==0 ]
cells = [(row,col) for row in range(1,10) for col in range(1,10)]
字典推导式
{key_expression : value_expression for 表达式in 可迭代对象}
my_text = ' i love you, i love sxt, i love gaoqi'
char_count = {c:my_text.count(c) for c in my_text}
char_count
{' ': 9, 'i': 4, 'l': 3, 'o': 5, 'v': 3, 'e': 3, 'y': 1, 'u': 1, ',': 2, 's': 1, 'x': 1, 't': 1, 'g': 1, 'a': 1, 'q': 1}
集合推导式
{表达式for item in 可迭代对象}
或者:{表达式for item in 可迭代对象if 条件判断}
{x for x in range(1,100) if x%9==0}
{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
生成器推导式(生成元组)
我们发现提示的是“一个生成器对象”。显然,元组是没有推导式的。
画同心圆
import turtle
a=turtle.Pen()
k=1
cir_colour=['red','yellow','blue','green']
for i in range(10):
k+=i
a.penup()
a.goto(0,-10*k)
a.pendown()
a.color(cir_colour[i%len(cir_colour)])
a.circle(k*10)
turtle.done()
Python 函数的分类
Python 中函数分为如下几类:
1. 内置函数
我们前面使用的str()、list()、len()等这些都是内置函数,我们可以拿来直接使用。
2. 标准库函数
我们可以通过import 语句导入库,然后使用其中定义的函数
3. 第三方库函数
Python 社区也提供了很多高质量的库。下载安装这些库后,也是通过import 语句导
入,然后可以使用这些第三方库的函数
4. 用户自定义函数
用户自己定义的函数,显然也是开发中适应用户自身需求定义的函数。今天我们学习的
就是如何自定义函数。
def 函数名([参数列表]) :
'''文档字符串'''
函数体/若干语句
我们通过实际定义函数来学习函数的定义方式。
形参和实参
在定义时写的printMax(a,b)。a 和b 称为“形式参数”,简称“形参”。
在调用函数时,传递的参数称为“实际参数”,简称“实参”。上面代码中,printMax(10,20),10 和20 就是实际参数。