十、流程图
1、流程图(Flowchart)
流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。
好处:
1)代码的指导文档
2)有助于规划高效率的程序结构
3)便于与他人交流
流程图的思维是至上往下走的,线性逻辑的思维模式。
2、函数(function)
函数就是对一段代码进行封装。
3、思维导图(Mind Map)
思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。
十一、分支与循环(branch and loop)
1、分支结构 - if语句
Python的分支结构由if语句来实现的,有5种语法:
1)判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。包含的语句使用缩进,缩进决定了从属关系。
if condition:statement(s)
举例:
if 3<5:print("我在里面")print("我也在里面")
print("我在外面")
2)判断一个条件:
如果条件成立,就执行其包含的某条语句或某个代码块
如果条件不成立,就执行另外的某条语句或某个代码块
if condition:statement(s)
else:statement(s)
举例:
if "小甲鱼" == "小姐姐":print("小甲鱼是小姐姐!")
else:print("小甲鱼不是小姐姐!")
3)判断多个条件:
如果第1个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则接着判断第3个条件……
if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……
举例:
score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")
4)多条件else:
第4种是在第3种的情况下添加一个else,表面上面所有的条件均不成立的情况下,执行某条语句或某个代码块。
if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……
else:statement(s)
举例:
score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")
else:print("请输入 0~100 之间的分值!")
5)条件表达式
条件成立时执行的语句 if condition else 条件不成立时执行的语句
举例:
正常表达式:
age = 16
if age < 18:print("抱歉,未满18岁禁止访问。")
else:print("欢迎您来~")
条件表达式:
age = 16
print("抱歉,未满18岁禁止访问。") if age < 18 else print("欢迎您来~")
案例4的条件表达式:
score = 66
level = ('D' if 0<= score <60 else'C' if 60<= score <80 else'B' if 80<= score <90 else'A' if 90<= score <100 else'S' if score == 100 else"请输入 0~100 之间的分值!")
print(level)
2、分支结构的嵌套
举例:
age = 18
isMale = True
if age <18 :print("抱歉,未满18岁禁止访问。")
else:if isMale:print("任君选购!")else:print("抱歉,本店商品可能不适合小公举哦")
3、循环结构
(1)while循环
只要条件成立,其包含的某条语句或某个语句块就会一直被执行。
while condition:statement(s)
举例:
love = "yes"
while love == "yes":love = input("今天你还爱我吗?")
(2)for循环
下面可以看到,第5部分
(3)退出死循环
1)break
2)continue:
continue也会跳出循环体,但只是跳出本轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。
举例:
i = 0
while i < 10:i += 1if i % 2 == 0:continueprint(i)1
3
5
7
9
3)break和continue的区别
4)else
当循环的条件不再为真的时候,便会执行else语句的内容。
举例:
i = 1
while i < 5:print("循环内,i的值是", i)i += 1
else:print("循环外,i的值是", i)
4、循环结构的嵌套
无论是break语句还是continue语句,它们只能作用于一层循环体。
day = 1
hour = 1
while day <= 7:while hour <= 8:print("今天我一定要坚持学习8小时!")hour += 1if hour >1:breakday += 1今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
九九乘法表
i = 1
while i <= 9:j = 1while j <= i:print(j,"*",i,"=",j * i,end=" ")j += 1print()i += 1
5、for循环
for 变量 in 可迭代对象 :
statement(s)
可迭代对象指元素能够被单独提取出来的对象,比如字符串。
举例:for循环每次从字符串Love里面提取出一个字符,并赋值给变量each,循环体内只有一个语句,将each变量值打印出来。
for each in "Love":print(each)L
o
v
e
举例用while来实现:
i = 0
while i < len("Love"):print("Love"[i])i += 1L
o
v
e
6、range生成数值序列,参数只能是整型。
range(stop)
range(start, stop)
range(start, stop, step)
举例:
for i in range(10):print(i)0
1
2
3
4
5
6
7
8
9for i in range(5,10):print(i)5
6
7
8
9for i in range(5,10,2):print(i)5
7
9
举例:从0加到100万的和
i =1
sum = 0
while i <= 1000000:sum += ii += 1print(sum)500000500000sum = 0
for i in range(1000001):sum += i
print(sum)
500000500000
举例:查看10以内的素数
for n in range(2,10):for x in range(2,n):if n % x ==0:print(n,"=",x,"*",n // x)breakelse:print(n,"是一个素数")2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3