if
为什么要有if判断?
就是为了判断事物的对错和真假,计算机也需要判断事物的对错,真假,从而做出不同的响应。
代码块:
python用缩进表示代码的归属,同样缩进的代码称为代码块。
布尔值可以直接用来判断,变量名也可以用来判断,因为变量名对应的值就是True或者False
布尔值为False的数据有:None,0,' ',[ ] ,{ }
第一种,if,else:
if条件:
代码1
代码2
...else:
代码1
代码2
...
if,else
用法:就是如果怎么怎么样,否则其他情况怎么怎么样。
第二种,if,elif,else:
if条件:
代码1
代码2
...elif条件:
代码1
代码2
...else:
代码1
代码2
...
if,elif,else
用法:就是如果怎么怎么样,又如果怎么怎么样,否则其他情况怎么怎么样,elif可以出现多次。
注意:else不能单独使用,必须和if,while,for配合使用,if,elif,else 同一级别配合使用的时候,只会运行一个代码块。
第三种,if可以嵌套:
if条件:
代码1
代码2if条件:
代码1
代码2
...elif条件:
代码1
代码2
...else:
代码1
代码2
...elif条件:
代码1
代码2
...else:
代码1
代码2
...
if嵌套
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,else
while + break:
n = 1
while n < 5:if n == 3:break
print(n)
n+= 1
else:print('while循环正常结束')
while,break
while + continue:
n = 1
while n < 5:if n == 3:
n+= 1
continue
print(n)
n+= 1
else:print('while循环正常结束')
while,continue
while循环的嵌套:
whileTrue:
代码1
代码2
...if条件:
代码1
...whileTrue:
代码1
...if条件:
代码1
...break代码1
...break
while嵌套
for
定义:for循环不依赖于索引取值,for循环有一个固定的语法结构:
for 变量名 in 容器类型(可以是列表,字典等等):
代码1
代码2
..
字典在被for循环取值的时候,只会返回字典的key,value是不会主动返回的,需要用方式获取。
比如代码:
d = {'name':'jason','password':'123','hobby':[1,2,3,4]}for i ind: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 inname_list:if name == 'jason':break
print(name)else:print('for循环正常结束了')
for,break
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自带换行
9*9乘法口诀表