刻意练习Python基础 ——day 02:条件与循环
Day 01——Task01:变量、运算符与数据类型
Day 02——Task02:条件与循环
Day 03——Task03:列表与元组(上)
Day 04——Task03:列表与元组(下)
Day 05——Task04:字符串与序列
Day 06——Task05:函数与Lambda表达式(上)
Day 07——Task05:函数与Lambda表达式(下)
Day 08——Task06:字典与集合
Day 09——Task07:文件与文件系统(上)
Day 10——Task07:文件与文件系统(下)
Day 11——Task08:异常处理
Day 12——Task09:else 与 with 语句
Day 13——Task10:类与对象(上)
Day 14——Task10:类与对象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模块
1.条件语句
在Python中,条件语句(也称为条件分支语句)与类C语言中的条件语句使用方法大相径庭,区别在于将大括号包含分支部分改为缩进分支部分。
1.1.if语句
if 判断语句1: 执行语句1 elif 判断语句2: 执行语句2 else: 执行语句3
- 如果 bool(判断语句1) 为 True 将执行 “执行语句1” 块语句
- 如果 bool(判断语句1) 为False,将判断 “判断语句2”
- 如果 bool(判断语句2) 为 True 将执行 “执行语句2” 块语句
- 如果 bool(判断语句2) 为False,将执行"执行语句3"块语句
注意:
- 每个判断语句后面要接上冒号 : ,以表示接下来是满足条件后要执行的语句块。
- Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif –elif –…–elif – else
- Python 使用缩进来区分分支部分,因此要特别注意 elif 和 else 的悬挂问题。
1.1.1if语句的简单语句组
如果你的if语句的分支部分只有一条语句,你可以将该语句与if语句写在同一行中, 如下所示:
if(100 / 10 == 10): print("Uh...right!") # Uh...right!
1.2.assert断言
assert(断言) 用于判断一个表达式,在表达式条件为 False 的时候抛出异常。
assert True # 条件为 true 正常执行 # assert False # 条件为 false 触发异常 # AssertionError
其等价于
if not expression: raise AssertionError
常用与程序检测时置入的检查点,只有条件为 True 才能让程序正常工作。
a = 5 assert a == 5 # 条件为 true 正常执行 # assert a == 3 # 条件为 false 触发异常 # AssertionError
2.循环语句
不同于类C语言中有3种循环语句,Python只有for语句和whlie语句这2种循环语句,且与类C语言中的循环存在些许差异。
2.1.while循环语句
while 判断语句: 循环语句 其他语句
当判断语句为True时执行循环语句,执行结束后继续进行判断语句,若为True则执行循环语句,直至判断语句为False时才可执行接下来的其他语句。
2.1.1while循环的无限循环
我们可以令判断语句恒为 True 来实现无限循环,唯有达成某种条件时break强制跳出循环或者** Ctrl+C **终止程序。无限循环常见于生活中,例如曾经的小游戏“跳一跳”就是基于此的。
ans = 51 while True: str = input("输入一个数字:") a = int(str) if(a == ans): print("猜对了") break elif(a > ans): print("太大了哦~") else: print("太小了哦~") print("游戏结束~!")
2.1.2while循环的else语句
在 while … else 在判断语句为 False 时执行 else 的语句块。
count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5") # 0 小于 5 # 1 小于 5 # 2 小于 5 # 3 小于 5 # 4 小于 5 # 5 大于或等于 5
2.1.3while循环的简单语句组
如果while中循环语句只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
while(True): print("Uh...right!") # Uh...right! # Uh...right! # Uh...right! # Uh...right! # Uh...right! # Uh...right! ......
此时需要使用 Ctrl+C 来终止程序。
2.1.4while循环的pass语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
while True: pass
此时程序将卡住,无法执行接下来操作,只能使用 Ctrl+C 来终止程序。
for i in ["C", "C++", "Perl", "Python"] : if i == "Python": pass print ('pass') print ( i) print ("Good bye!") # C # C++ # Perl # pass # Python # Good bye!
2.2.for循环语句
在Python中, for循环语句与其他类C语言有着很大的差别。
2.2.1for循环语句与in语句
in语句与for循环语句结合,可以做到遍历in后面所跟的任何序列的项目,如一个列表或者一个字符串。
for i in [1,3,2,4,9,6]: print(i) # 1 # 3 # 2 # 4 # 9 # 6 languages = ["C", "C++", "Perl", "Python"] for i in languages: print (i) # C # C++ # Perl # Python
2.2.2for循环语句的else语句
同while一样,在 for … else 在判断语句为 False 时执行 else 的语句块。
for i in [1, 2, 3, 4, 5]: if(i < 5): print (i, " 小于 5") else: print (i, " 大于或等于 5") # 0 小于 5 # 1 小于 5 # 2 小于 5 # 3 小于 5 # 4 小于 5 # 5 大于或等于 5
注:当在for循环语句中存在执行break语句时,跳出循环,且不执行else里面的语句块。
Language = ["C", "C++", "Python", "Perl"] for i in Language: if i == "Python": print("I got you.") break print("Language " + i) else: print("Not Language") print("Done!") # Language C # Language C++ # I got you. # Done!
2.2.3for循环语句的简单语句组
同while一样,如果for中循环语句只有一条语句,你可以将该语句与for写在同一行中, 如下所示:
languages = ["C", "C++", "Perl", "Python"] for i in languages:print (i) # C # C++ # Perl # Python
因为for中判断语句遍历了languages列表,使用的是类似于next指针的机制,当指向languages列表的最后一个元素时,next返回值为null,在for判断语句中为false,故终止循环。
2.2.4 for循环语句与range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
for i in range(0,30,3): if(i % 2 == 0): print(i) else: i += 2 print(i) # 0 # 5 # 6 # 11 # 12 # 17 # 18 # 23 # 24 # 29
range(a,b,c)为生成数列[a, a+c, a+2c, … , a+nc],其中a+n*c<b.且在循环体内变量i的改变对循环语句中变量i没有影响(可理解为两个为不同的变量)。
3.总结
今天的内容较多,同时其内容也是语言中的精髓所在
俗话说的好
~ 没有条件分支与循环的语言,就仿佛失去灵魂的咸鱼 ~
所以今天的内容要熟记于心才可以哒~
- 刻意练习Python基础——day 02:条件与循环
- 重学Python - Day 02 - python基础 -> if语句应用 + while循环应用
- 刻意练习Python基础 ——day 03:列表与元组(上)
- 刻意练习Python基础——day 07:函数与Lambda表达式(下)
- 刻意练习Python基础 ——day 05:字符串与序列
- 刻意练习Python基础——day 01:变量、运算符与数据类型
- 【Python】 [基础] 条件判断 与 循环 与dict和set
- python基础之条件循环语句
- Python基础(6)--条件、循环
- Python新手学习基础之循环结构练习
- 【每天1分钟】PYTHON基础之条件与循环(else 子句)
- Python基础4——条件判断、循环
- python基础之条件控制与循环
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- python基础之条件判断和循环
- Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
- 【每天1分钟】PYTHON基础之条件与循环(if语句)
- Python基础教程之第5章 条件, 循环和其他语句
- python基础之python条件判断和循环
- python基础 条件和循环