7.2Python入门(三)
if
为什么要有if判断?
就是为了判断事物的对错和真假,计算机也需要判断事物的对错,真假,从而做出不同的响应。
代码块:
python用缩进表示代码的归属,同样缩进的代码称为代码块。
布尔值可以直接用来判断,变量名也可以用来判断,因为变量名对应的值就是True或者False
布尔值为False的数据有:None,0,' ',[ ] ,{ }
第一种,if,else:
if 条件: 代码1 代码2 ... else: 代码1 代码2 ...
用法:就是如果怎么怎么样,否则其他情况怎么怎么样。
第二种,if,elif,else:
if 条件: 代码1 代码2 ... elif 条件: 代码1 代码2 ... else: 代码1 代码2 ...
用法:就是如果怎么怎么样,又如果怎么怎么样,否则其他情况怎么怎么样,elif可以出现多次。
注意:else不能单独使用,必须和if,while,for配合使用,if,elif,else 同一级别配合使用的时候,只会运行一个代码块。
第三种,if可以嵌套:
if 条件: 代码1 代码2 if 条件: 代码1 代码2 ... elif 条件: 代码1 代码2 ... else: 代码1 代码2 ... elif 条件: 代码1 代码2 ... else: 代码1 代码2 ...
while
一般需要配合使用的关键字:
break:立即结束本层循环(只对它所属的那个while有效)
continue:跳出本次循环,直接开始下一次循环。
while + else:
只有当while依据条件正常结束才会运行else代码,如果是用break主动结束的,是不会运行else的。
n= 1 while n<5: if n < 5: print(n) n += 1 else: print('while循环正常结束')
while + break:
n = 1 while n < 5: if n == 3: break print(n) n += 1 else: print('while循环正常结束')
while + continue:
n = 1 while n < 5: if n == 3: n += 1 continue print(n) n += 1 else: print('while循环正常结束')
while循环的嵌套:
while True: 代码1 代码2 ... if 条件: 代码1 ... while True: 代码1 ... if 条件: 代码1 ... break 代码1 ... break
for
定义:for循环不依赖于索引取值,for循环有一个固定的语法结构:
for 变量名 in 容器类型(可以是列表,字典等等):
代码1
代码2
..
字典在被for循环取值的时候,只会返回字典的key,value是不会主动返回的,需要用方式获取。
比如代码:
d = {'name':'jason','password':'123','hobby':[1,2,3,4]} for i in d: print(d[i])
len():获取数据类型(容器类型)的个数,字符串是特例,获取的是字符串中字符的个数,无法获取数字的个数。
如何用for循环打印1~10(甚至1~1000000)?
for循环取值需要一个容器类型,此时没有,所以用到一个关键字:
range:表示范围的意思。
特点:顾头不顾尾,range(1,10)只会取出1~9。
range在python2与python3中的区别
1.python2中
1.range其实就是一个列表
2.xrange就相当于python3中的range
2.python3中
range就相当于一个老母猪,是一个迭代器对象,你需要值的时候,它才会给我们值。
for + break:
效果同while中的break,立即结束本层循环。
for + continue:
效果同while中的continue,跳出本次循环,直接开始下一次循环。
for + else:
同while + else,只有当for依据条件正常结束才会运行else代码,如果是用break主动结束的,是不会运行else的。
name_list = ['nick', 'jason', 'tank', 'sean'] for name in name_list: if name == 'jason': break print(name) else: print('for循环正常结束了')
for循环的嵌套
打印9*9乘法口诀表
for i in range(1,10): for j in range(1,i+1): # 内层循环的range条件是根据外层循环决定的 print('%s*%s=%s'%(i,j,i*j),end = ' ') # end = ' '打印在同一行 print() # print自带换行