while 循环
while 条件表达式:
循环代码
def addSum(start,end,step=1):
cnt = start
sumData = 0
while cnt <= end
sumData += cnt
cnt += step
return sumData
print(addSum(1,10,2))
有条件死循环
while True:
password = input('输入密码:')
if password == '123456':
print('密码正确')
break
print('密码错误,请重新输入!')
遍历
nameList = ['mike','jack','tom']
def listPrint(inList):
cnt = 0
while cnt < len(inList):
print(inList[cnt]
cnt +=1
listPrint(nameList)
for循环
遍历和嵌套都用for
while用有条件的循环
nameList = ['mile','jack','tom']
for name in nameList:
print(name)
range:列表的范围值 左含右不含
for one in range(1,10):
print(one) 1到9
range(10)开头不给值,默认从0开始
range(1,10,2)以2为步长取值,递增
range(10,1,-2)递减
random 随机数
import random
print(random.randint(1,2))左含右含
break 结束本层循环
continue结束本次循环
nameList = ['mike','jack','tom']
for one in range(0,2):#外循环2次
for name in nameList:#内循环3次,共6次
if name == ‘jack’:
break#结束本层循环---内循环结果只打印两个mike
continue#结束本次循环,输出四个名字除了jack
print(name)
注释
‘#‘单行注释,简短描述
‘’’
‘’'三引号多行注释或ctrl+/
#########隔开#######(两行中间为注释部分)
#------------隔开---------------(同上)
#**********(同上)
属性值:函数注解,文字说明,只是一个属性,不复制
def listPrint():
‘this function is list print’
-------
print(listPrint.doc)就会打印出注解的东西,通过用函数的__doc__可以调用任意函数的属性值
循环嵌套
boys = ['mike','jack','tom']
girls = ['lisa','linda','mary']
for boy in boys:
for girl in girls:
print(boy,girl)
9*9乘法表
for i in range(1,10):左含右不含
for j in range(1,i+1):
print('{}*{}={}\t'.format(j,i,i*j,end=' ')#print默认有换行符
print()
列表生成式
beforetax=[10000,5000,8000,4000,6000]
#aftertax=[]
#for one in beforetax:
# aftertax.append(one*0.9)
此三行等同于:
aftetax=[one*0.9 for one in beforetax if one>5000]#列表生成式 多加了条件
print(aftertax)
算法
sort()排序升序
alist = [1,4,2,5]
alist.sort(reverse=True)不加参数默认正序
alist.reverse()#倒序
print(alist[::-1])切片的反序
print(alist)
冒泡排序
#找四次最大值
#相邻元素对比,大的交换位置,往后移
#下次对比时,后面的最大值就不用再比了,找一个少一次
alist = [2,4,8,3,1]
for i in range(0,len(alist)-1):#找几次最大值4
for j in range(0,len(alist)-1-i):#比较多少次
if alist[j]>alist[j+1]:#交换顺序
alist[j],alist[j+1]=alist[j+1],alist[j]#可以直接赋值
print(alist)
if判断条件还可以简写
x = 9
if x:
print(‘x is not zero’)
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False
函数里面调用函数
也可以颠倒定义顺序
def foo():
bar()
def bar()
foo()