其实,在之前学习的知识里,便已经有涉及到了分支和循环了,我整理了下语法。
首先,分支 : 1. if 条件 : 条件为真执行的语句
2. if 条件: 当条件为真是执行的语句
else: 条件为假执行的语句
3. if 条件1: 条件1为真执行的语句
elif 条件2 : 条件2为真执行的语句 ( 这里的elif 语句可以有多个)
else 条件n: 以上条件均不符合的时候执行的语句(也可称条件n为真时执行的语句)
这里,有一点需要注意,在C语言中,经常会发生"悬挂else"的情况,因为在C中,else是与其最近的if想匹配的,所以在C中要注意防止"悬挂else"的发生。但是,在Python语言中,则可以有效的避免这种情况的发生,因为Python中的缩进,使用了强制的规定,令代码必须正确的对其才能跑起来,所以,相对应的if和else会正确对齐,便可以避免发生悬挂else
案例:按100分制,90以上为A,80-90为B,60-80为C,60以下为D。写一个程序,当用户输入分数时,自动转换为ABCD的形式打印。
方法1,score = int(input("请输入一个分数:"))
if 100 >= score >=90 : print("A")
if 90 > score >=80 : print("B")
if 80 > score >=60 : print("C")
if 60 > score >=0 : print("D")
if score <0 or score >100: print("输入错误!")
方法2,score = int(input("请输入一个分数:"))
if 100 >= score >=90 : print("A")
else :
if 90 > score >=80 : print("B")
else:
if 80 >score >=60 : print("C")
else :
if 60 > score >=0 : print("D")
else : print("输入错误!")
方法3,score = int(input("请输入一个分数:"))
if 100 >= score >=90 : print("A")
elif 90 >score >=80 : print("B") (elif 相当于C中的 else if )
elif 80 >score >=60 : print("C")
elif 60 >score >=0 : print("D")
else : print("输入错误!")
然后,还学到了一个条件表达式(三元操作符):语法: x if 条件 else y (当条件成立时,输出x ,否则输出 y)
一个简单的例题: x, y = 4 ,5
if x < y : samll = x
else : small = y 最后的输出: 4
上面的例题课改进为: small = x if x < y else y 最后的输出也是:4
还学到一个名词 : 断言(assert)——当断言后的条件为假的时候,程序自动崩溃并抛出AssertionError 的异常。 真的时候继续运行。
讲完分支,现在来总结循环。
while 循环: 语法——while 条件: 循环体 (当条件为真执行循环体,否则不执行循环体的任何语句)
for 循环 :这里的for循环和C语言里面的for循环语法是不一样的。
语法—— for 目标 in 表达式 : 循环体
这里,和for循环一起学到的知识还有一个和for循环搭档的函数 range() 函数。其语法为——range( [start ,] , stop [, step=1] )
——这个函数有三个参数。其中用中括号括起来的两个表示这两个参数是可选参数。
——step = 1 表示第三个参数的默认值为 1 。
——range 作用是生成一个从start参数的值到stop参数的值结束的数字序列。
例题:range(5) 返回 range(0,5)
list(range(5)) 输出:[0 .1,2, 3, 4]
for i in range(5)
print(i) 输出:0 1 2 3 4
for i in range(2,9)
print(i) 输出:2 3 4 5 6 7 8
for i in range(1,10,2)
print(i) 输出: 1 3 5 7 9 (这里求的是从1开始,到10结束,每隔2打印输出)
最后,是关于循环语句中两个关键的语句:break 和 continue
break:作用是终止当前循环,即跳出循环体。
continue:作用是终止本轮循环,并开始下一轮循环。(注意,在开始下一轮循环之前,会进行测试,至于当循环条件为真时,才会开始下一轮)
例题: for i in rang(10) :
if i %2 !=0 :
print(i)
continue
i +=2
print(i)
最后输出为: 2 ,1,4,3,6,5,8,7,10,9
{ 若 i 为奇数,便打印出来,然后continue , 便会终止本轮循环,然后在进入下一次循环之前,判断条件是否为真,不为真时退出循环体}
{首先 i= 0 ,if 后面条件不为真,不执行循环体,执行 i+=2 ,打印2
i =1 ,if 后面条件为真,打印 1 ,continue 终止接下来的语句,开始下一轮
i= 2 ,if 后面条件不为真,不执行循环体,执行 i+=2,打印4、
i= 3 ,if 后面条件为真,打印 3 ,continue 终止接下来的语句,开始下一轮
i = 4,if 后面条件不为真,不执行循环体,执行 i+=2,打印6、
i = 5 ,if 后面条件为真,打印 5,continue 终止接下来的语句,开始下一轮
i= 6,if 后面条件不为真,不执行循环体,执行 i+=2,打印8、
i= 7,if 后面条件为真,打印 7,continue 终止接下来的语句,开始下一轮
i= 8 ,if 后面条件不为真,不执行循环体,执行 i+=2,打印10、
i = 9,if 后面条件为真,打印 9,continue 终止接下来的语句,开始下一轮
}
只有能够学以致用才算学到了东西。