程序结构(11.2-8分支结构)
- 程序的三种结构
- 顺序
- 循环
- 分支
分支结构
- 分支结构的基本语法
if 条件表达式:
语句1
语句2
语句3
…… - 条件表达式就是计算结果必须为布尔值的表达式
- 表达式后面的冒号不能少
- 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进登记
- 条件表达式结果为True执行if后面的缩进的语句块
- 字符串的真假:
- 只有空字符串为False,其余全为True
#if语句
age = 19
if age > 18:
print("已成年")
else:
print("未成年")
已成年
双向分支
- if…else…表达
- 语法结构
if 条件表达式:
语句1
语句2
…
else:
语句1
语句2
…
input的作用:
- 1.在屏幕上输出括号内的字符串
- 2.接受用户输入的内容并返回到程序
- 3.input返回的内容一定是字符串类型
#input
gender = input("请输入你的性别:")
print(gender)
if gender == "man":
print("告辞")
else:
print("交个朋友吧")
请输入你的性别:man
man
告辞
score = input("请输入你的成绩:")
score = int(score)
if score >= 90:
print("优秀")
if score >= 80 and score < 90:
print("良")
if score >= 70 and score < 80:
print("中等")
if score >= 60 and score < 70:
print("及格")
if score < 60:
print("辣鸡")
请输入你的成绩:80
良
多路分支(12.2-9循环结构)
-
多个分支的情况
if 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
else
语句1
… -
elif可以根据实际情况设置多个
-
多路分支最多只会执行一种情况
score = input("请输入你的成绩:")
score = int(score)
if score >= 90:
print("优秀")
elif score >= 80:
print("良")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("辣鸡")
if语句补充
- if语句可以嵌套使用,但是容易出错
- python中没有switch语句
循环语句
- 重复的执行某一个固定的动作或任务
- 分类
- for
- while
for循环
- 语法
for 变量 in 序列:
语句1
语句2
……
#for循环
#列表
list_one = [1,2,3,4,5,6]
for number in list_one:
print(number)
1
2
3
4
5
6
for-else语句
- for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
- else语句是可选择的
break,continue,pass
break: 无条件结束整个循环,简称循环猝死
#确定一个数字队列中是否包含数字7
dig_list = [2,3,5,6,45,7,89,54,22,66,7]
for number in dig_list:
if number == 7:
print("已找到数字7")
break
else:
print(number)
2
3
5
6
45
已找到数字7
13.2-10循环while
continue:结束本次循环
pass:占位符,并没有跳过的功能
#pass
age = 19
if age > 18:
pass
else:
print("未成年")
range函数
- 生成有序数列
- 生成数字队列可以定制
- range(数字1,数字2)
- 生成的数字序列包左不包右
#range案例
#生成一个从1到100的数字序列
dig_list = range(1,100)
for number in dig_list:
print(number)
#打印1到10的数字
for i in range(1,11):
print(i)
1
2
3
4
5
6
7
8
9
10
while循环
-
适用于不知道循环次数的循环
-
while语法:
-
while 条件表达式:
- 语句块
-
或者
while 条件表达式:
语句块1
else:
语句块2
#年利率为6.7%,本金为10000元,多少年本金翻倍
money = 10000
year = 0
while money < 20000:
money = money * (1+0.067)
year+=1
print(year)
11
14.2-11函数1
函数
- 函数是代码的一种组织形式
- 函数的使用
- 函数使用需要先定义
def 函数名():
语句
…… - 使用函数,俗称调用
函数名()
- 函数使用需要先定义
- 函数调用方法
- 直接写出函数名字,后面小括号不能省略,括号内容根据实际情况
15.2-11函数2
函数的参数和返回值
- 参数:负责给函数传递一些必要的数据或信息
- 形参(形式参数):在函数定义时使用的参数,没有具体值,只是一个占位符
- 实参(实际参数):在调用函数时输入的值
- 返回值:调用函数的时候的一个执行的结果
- 使用return返回结果
- 如果没有返回结果,最好使用return None表示函数结束
- 函数一旦执行return,则函数立即结束
- 如果函数没有return关键字,则函数默认返回None
#形参和实参
#参数person只是一个符号
#调用的时候用另一个
def hello(person):
print("{0},are you ok?".format(person))
print("{},I'm fine.".format(person))
p = "xiaoming"
hello(p)
xiaoming,are you ok?
xiaoming,I'm fine.
#九九乘法表1
for i in range(1,10):
for j in range(1,i + 1):
print(i * j,end=" ")
print()
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
16.2-13函数3
def printLine(line_num):
for i in range(1,line_num + 1):
print(i * line_num,end=" ")
def double_nine():
for j in range(1,10):
printLine(j)
print()
double_nine()
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
参数详解
- 参数分类
- 普通参数/位置参数:函数中形参有多少个,在调用函数时就必须输入相同个数的实参
- 默认参数:就是给参数一个初始的值,在调用函数时,默认参数可以不用给实参,此时形参的值就是默认值
- 关键字参数:在调用函数时,在给出实参时,给形参赋值,不用按照位置给出实参
- 收集参数
#普通参数案例
def sum(a,b,c):
print(a + b)
return None
sum(1,2,3)
3
#默认参数
def sum_1(a,b,c=100):
print(a + b)
return None
sum_1(1,2)
3
#关键字参数
def sum_2(a,b,c):
print(a + b)
print(c)
return None
sum_2(1,2,4)
sum_2(c=4,a=1,b=2)
3
4
3
4