if
if:英文单词 是否的意思 就是用来判断条件的对错,判断之后在进行下一步的操作。
定义:
最简单的if判断
if 条件:
代码块1
代码块2
代码块3
a = 5 b = 4 if a > b: print('正确') print('恭喜你做对了')
if...else连用
if 条件:
代码块1
代码块2
代码块3
else:
代码块1
代码块2
代码块3
a = 141 b = 4414 if a > b: print('正确,恭喜你做对了') else: print('错误,你说的不对')
if...elif...else连用
if 条件:
代码块1
代码块2
代码块3
elif 条件:
代码块1
代码块2
代码块3
else:
代码块1
代码块2
代码块3
score = int(input('please input your score>>>:')) if score >= 90: print('优秀') elif score >=80: print('良好') elif score >= 70: print('普通') else: print('好好学习吧')
三种if基本用法就是这样子,他们在执行代码的时候有一个特性就是,不管执行哪一种循环,都是只能走其中一条分支,一旦进入,就会将这一条分支执行完毕,才会判断从头判断
代码块,就是我们将我们的思维逻辑计算机可以识别的语言,而且代码块都是在条件之内的,所以开头有空格,python中,语句开头在同一缩进的就称为同一级,运算顺序是同级的,
例如if的最后一个连用,if elif else是同级,条件输入以后同时判定符合那个条件在符合了最先进入的分之后,就不会判断了,直至这一分支结束重新判断。这里需要注意下,else不能单
独使用,但是可以和if,while,for循环配合使用,
注意:if 是可以嵌套的,
if 条件:
代码块1
if条件:
代码块1
while循环
语法
while 条件:
代码块1
代码块2
代码块3
print('')
这里的print是为了避免死循环
死循环;条件一直符合,所以循环一直进行,无穷无尽,想要避免死循环(在没有input的条件下会一直循环,cpu一直工作)
break:退出本层循环,相当于直接完结循环,程序结束
break 只能结束距离自己最近的一次whlie循环,再向外的while循环就不能结束了 所以有个简便方法就是在一开始进行一个判定,之后想要跳出循环,就直接判定这个条件是False就可以了
continue:跳出本次循环,去下一次条件进行判断,继续循环的进行
while+break
user_db = 'jason' pwd_db = '123' while True: inp_user = input('username: ') inp_pwd = input('password: ') if inp_user == user_db and pwd_db == inp_pwd: print('login successful') break else: print('username or password error') print('退出了while循环')
while+continue
n = 1 while n < 10: if n == 6: n += 1 # 如果注释这一行,则会进入死循环 continue print(n) n += 1
while的嵌套
user_db = 'jason' pwd_db = '123' while True: inp_user = input('username: ') inp_pwd = input('password: ') if inp_user == user_db and pwd_db == inp_pwd: print('login successful') while True: cmd = input('请输入你需要的命令:') if cmd == 'q': break print('%s功能执行'%cmd) break else: print('username or password error') print('退出了while循环')
while和else连用:当while循环没有被break退出后,才可以进行else的代码和判断
for循环
一般情况都是用for循环取值,因为他可以哪找索引取值,也可以不按照索引取值
for循环取值的好处
可以自行对元素个数进行判断,完全把数据取出,进行次数不多不少。正好与元素个数相同
for 变量名 in 取值对象(list,dict)
补充
布尔值为False的数据有:0,None,空,[],{} 这些布尔值为空 其余的布尔值都为True
布尔值也可以直接用于判断
变量名也可以用来判断,变量名指向的值对应的就是True或False
range
在python2中
>>> range(1,20) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
他会将范围内的元素都打印出来
>>> xrange(1,20)
xrange(1, 20)
与python3单纯的写出头和尾
在python3中
>>> range(1,20)
range(1, 20)
只是单纯的写出范围,有头有尾没中间
但是不管是range还是xrange都是包括第一个元素,但是不包括最后一个range(1,20)for循环之后都是1-19这19个元素这一点他们是相同的