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 就是实际参数。