python基础语法:if条件判断 和循环 (五)
目录:
8.if条件判断
9.循环
递归函数 需要时学习
======================================
8.if条件判断,不要少写冒号,以及换行的缩进
If……else
If……elif……elif……else,使用elif做更细致的判断:
If<条件判断1>: <执行1> elif<条件判断2>: <执行2> elif<条件判断3>: <执行3> else: <执行4> |
If判断条件还可以简写,比如:
If x:
print(‘True’)
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
9.循环
for……in 依次把list或tuple中的每个元素迭代出来
while 只要条件满足,就不断循环
#coding:utf-8 names=['Bart','Lisa','Adam'] for name in names: print('hello,%s'%name) print('-----分割线-----') for i in range(len(names)): print('hello,%s'%names[i]) input('end ...') #range([start,]stop[,step]),其中有效范围是[start,stop-1],start缺省时,默认为0,step缺省时,默认为1. |
允许结果如下:
F:\python_script>new.py hello,Bart hello,Lisa hello,Adam -----分割线----- hello,Bart hello,Lisa hello,Adam end ... |
所以for x in ……,就是把每个元素代入变量x,然后执行缩进块的语句:
比如我们想计算1-10的整数之后,可以用一个sum变量做累加,如果要计算1-100的整数之后,从1写到100有点困难,幸好python提供了一个range()函数,它可以生成一个整数序列,并可以通过list()函数转换为list。
#coding:utf-8 #求和:1-10 sum=0 for x in [1,2,3,4,5,6,7,8,9,10]: sum=sum+x print(sum) print('--------分割线----------') print(list(range(5))) #求和:1到100 sum=0 for x in range(101): sum=sum+x print(sum) |
计算结果如下:
F:\python_script>new.py 55 --------分割线---------- [0, 1, 2, 3, 4] 5050 |
在while循环内部,n不断自减,直到变为0,不再满足while条件,循环结束:
print('--------分割线----------') #求和:1到100 n=100 sum=0 while n>0: sum=sum+n n=n-1 print(sum) |
break语句可以提前退出循环,而continue可以跳出当前的这次循环,进入下一次循环,(即continue后面的语句在该次循环不执行),这两个语句通常都必须配合if
语句使用。
要特别注意,不要滥用break
和continue
语句。break
和continue
会造成代码执行逻辑分叉过多,容易出错。可以通过改写循环条件或者修改循环逻辑,减少break
和continue
语句的使用。