第二天
回顾
上次说到Python 是一种解释型语言: 意味着开发过程中不需要编译,这就类似于PHP和Perl语言。Python 还是交互式语言: 这意味着,可以在一个Python提示符,直接互动执行写程序。然后简单说了Python中的变量,今天我们来说下Python中的分支语句以及循环语句。
分支结构
我们在前写的代码就是简单的输入-简单处理-输出模式,而实际的业务往往有各种各样的条件判断,根据不同的条件,执行不同的代码,然后产生不同的结果,这就是我们今天要说的分支结构。
if分支结构
if分支结构是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
if分支结构
score = eval(input("请输入筛子里面的点数"))
if score== 6:
print("猜对了")
注意:if后面的表达式时Boolean类型的表达式(比较表达式或者逻辑表达式)或者true/false;只有当结果为true的时候才会执行对应的代码块。
if...else分支结构
通过上述的if分支结构,我们会有一种意犹未尽的感觉,猜对点数有结果,猜不对结果呢?这就需要我们的if...else结构了。
if...else结构
score = eval(input("请输入筛子里面的点数"))
if score==99:
print("猜对了")
else :
print("猜错了")
多重if结构
多重if结构score = eval(input("请输入Python成绩:"))
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
print("输入成绩属于级别{}".format(grade))
注意:最后再强调一下,分支语句的条件boolean类型的条件表达式/逻辑表达式,只有当结果为true的时候才会执行对应的代码。
循环结构
我们上面说了分支结构,表示条件的判断,当然还会有循环结构,在Python中的循环主要有while和for循环两种。当需要重复执行代码中的某个操作的时候,就要用到循环结构。这里大家一定要知道循环的三要素:循环条件、循环操作、条件的变化。
while循环
如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。
while 判断条件(condition):
执行语句(statements)……
同样这里的条件依然是boolean类型的表达式或者True,注意冒号和缩进。
下面我们以猜对筛子大小为例简要说明while循环的使用:
import random
shaiZi = random.randint(1, 6)
ciShu= 0
while True:
ciShu+= 1
number = int(input('请输入你猜的数字: '))
if number < shaiZi:
print('你猜小了')
elif number > answer:
print('你猜大了')
else:
print('恭喜你猜对了!')
break
print('你花费了%d次猜对筛子的点数' % counter)
for循环结构
在循环应用中,假如我们已经知道了循环的次数,有没有一种比 while 结构更为简单的写法。答案当然是有,这就是 for 循环。Python中for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。另外python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到。
语法:
for 变量名 in 序列:
代码块(循环体)
强调一下,序列的选择可以有以下数据类型,常见的序列有:字符串,列表,字典,集合,元组,迭代器,生成器,range。
下面我们以1-100之间既能被 3 整除,又能被 5 整除的数字之和为例。
i = 0
sum = 0
for i in range(1,100):
if(i%3 == 0 and i%5 == 0):
sum += i
print("1-100之间既能被 3 整除,又能被 5 整除的数字之和"+str(sum))
range函数
我们在上面既然用到了range函数,接下来我们来简单说下range函数。语法结构:range(start,stop[,step])
start: 计数从 start 开始。默认0 开始。如 range(5)等价于 range(0,5);
stop: 计数到 stop 结束,但不包括 stop。如range(0,5) 是[0,1,2,3, 4]没有 5
step:步长,默认为 1。如range(0,5) 等价于 range(0, 5, 1),也可以为负数,如:-1,相当于每次减 1。如果我们要实现减法的效果,可以用 range(10,1,-1)。
使用场景:
a.需要产生指定范围的数字序列。
b.单纯的控制for循环的循环次数。
continue和break
continue
continue - 是一个关键字,只能写在循环体中
功能:当循环执行过程中,遇到continue,会结束当次循环,,直接进入下次循环的判断。
break
break是一个关键字,只能用在循环体中
功能:当循环执行过程中,遇到break,整个循环直接结束
下面我们以张飞招兵来理解continue和break的区别。
num = 1
while(num <= 5):
name = input("请输入请"+str(num)+"个兵的姓名")
age = int(input("请输入请"+str(num)+"个兵的年龄"))
if(age < 18 or age > 40):
continue
sex = input("请输入请"+str(num)+"个兵的性别")
if(sex == "女"):
continue
print("第"+str(num)+"个兵的姓名是"+name+",年龄是"+str(age)+",性别是"+sex)
num = num + 1
接下来你再将continue换成break,体会break与continue的区别。
num = 1
while(num <= 5):
name = input("请输入请"+str(num)+"个兵的姓名")
age = int(input("请输入请"+str(num)+"个兵的年龄"))
if(age < 18 or age > 40):
break
sex = input("请输入请"+str(num)+"个兵的性别")
if(sex == "女"):
break
print("第"+str(num)+"个兵的姓名是"+name+",年龄是"+str(age)+",性别是"+sex)
num = num + 1
Python分支结构、循环结构就到这里了,更重要的是要学会活用分支与循环结构,自己动手实践练习,可以用一些图形输出的题锻炼自己的循环的使用,下面给出几道题。
1、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
2、输出显示九九乘法表、数字等腰三角形、数字菱形等
如何感觉还可以,点个赞再走呗!
网友评论