转载请注明出处:http://www.jianshu.com/p/a7291786508f
本文出自Shawpoo的简书
我的博客:CSDN博客
【Python学习笔记专栏】:http://blog.csdn.net/column/details/17658.html
一、条件判断
条件判断,也就是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。用到关键字有if
,elif
,else
。
1、语法格式:
-
1、最简单的条件判断语句:
if <条件判断>: <代码块>
表示条件判断语句返回为
True
时,执行代码块中的语句,否则不执行。
ps:if后面条件判断后要跟冒号:
,执行的代码块之前要缩进,否则不属于if条件判断下的代码块。
例如:if 3 in [1, 2, 3]: print("属于这个list") 执行结果:属于这个list
-
2、if...else条件判断:
if <条件判断>: <代码块1> else: <代码块2>
表示当条件判断为
True
时,执行代码块1中的语句,否则执行代码块2中的语句。同样注意,在代码块1和代码块2之前要缩进。score = 51 if score >= 60: print("及格") else: print("不及格") 执行结果:不及格
-
3、最完整的条件判断语句:
if <条件判断1>: <代码块1> elif <条件判断2>: <代码块2> elif <条件判断3>: <代码块3> else: <代码块4>
elif
是else if
的缩写,依然通过对条件的判断进行执行对应的代码块。例如:score = 74 if score > 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("及格") else: print("不及格") 执行结果:及格
2、if的嵌套
if的条件判断语句可以多层嵌套,如在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
if <条件判断1>:
if <条件判断a>:
<代码块a>
elif <条件判断b>:
<代码块b>
else:
<代码块c>
elif <条件判断2>:
<代码块2>
elif <条件判断3>:
<代码块3>
else:
<代码块4>
例如:
num = int(input("输入一个数字:"))
if num % 2 == 0:
if num % 3 == 0:
print("你输入的数字可以整除2和3")
else:
print("你输入的数字可以整除2,但不能整除3")
else:
if num % 3 == 0:
print("你输入的数字可以整除3但不能整除2")
else:
print("你输入的数字不能整除2和3")
执行结果:
输入一个数字:6
你输入的数字可以整除2和3
二、循环语句
Python中的循环语句有两种,for
循环 和 while
循环。
1、for循环
在Python中, for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
-
1、语法
for循环的一般格式如下,分为简单形式和完整形式,即else代码块
可省略:简单形式: for <元素> in <容器模型>: <代码块> 完整形式: for <元素> in <容器模型>: <代码块> else: <代码块>
ps:else中的代码块在for循环结束之后执行。
例如,求1~10的和,通过for循环依次累加:
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
循环一个list中的所有元素:
languages = ["Python", "Java", "Android", "Ruby"] for x in languages: print(x) else: print("循环执行结束") 执行结果: Python Java Android Ruby 循环执行结束
-
2、range()函数
如果我们需要遍历数字序列,可以使用Python内置的 range() 函数。会生成一个整数数列。a、
rang(n)
表示生成一个0到n(不含n)的整数数列,例如:for i in range(5): print(i, end=" ") 执行结果: 0 1 2 3 4
b、也可以指定区间的值,
rang(n, m)
表示生成一个从n到m(不含m)的整数数列:for i in range(5, 9): print(i, end=" ") 执行结果: 5 6 7 8
c、使range()以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'),语法格式:
rang(n, m, l)
for i in range(0, 10, 3): print(i, end=" ") 执行结果: 0 3 6 9
负数:
for i in range(-10, -100, -30): print(i, end=" ") 执行结果: -10 -40 -70
2、while循环
while循环和for循环类似,也分为简单形式和完整形式两种,不同的是while循环需要满足条件才可执行循环体(代码块),而且同样需要注意冒号和缩进。
-
1、语法
简单形式: while <条件判断>: <代码块> 完整形式: while <条件判断>: <代码块> else: <代码块>
例如,求1~100的总和:
count = 1 max = 100 sum = 0 while count <= max: sum += count count += 1 else: print("循环结束") print("1到%d之和为: %d" % (max, sum)) 执行结果: 循环结束 1到100之和为: 5050
-
2、无限循环
既然
while
循环是通过条件判断来决定是否执行循环,那么只要条件一直为True
的话,那么将成为无限循环,也就是通常说的死循环。如下面两个例子都为死循环:var = 1 while True: # 表达式永远为 true num = int(input("输入一个数字 :")) print("你输入的数字是: ", num)
while True: print("Hello Python")
3、break语句和continue语句
break语句可以跳出for和while的循环体,即结束循环。而且循环体内break后的语句和else块将不执行。
continue语句则是结束本次循环,跳过continue后的语句,直接执行下一次循环,且else块仍会执行。
以下是for循环中使用了break语句的例子:
languages = ["Python", "Java", "Android", "Ruby"]
i = 0
for x in languages:
print(x)
if i == 2:
break
i += 1
else:
print("循环执行结束")
执行结果:
Python
Java
Android
以下是for循环中使用了continue语句的例子:
for c in 'Python':
if c == 'o':
continue
print(c, end=" ")
else:
print("\n循环结束")
执行结果:
P y t h n
循环结束
4、pass语句
Python中的pass
是空语句,是为了保持程序结构的完整性。pass
语句不做任何事情,一般用做占位语句,如下:
if a == 1:
pass
while a != 1:
pass