前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python分支结构

python分支结构

原创
作者头像
ruochen
修改2021-03-08 09:56:30
1.6K0
修改2021-03-08 09:56:30
举报

程序结构

  • 程序三种结构
    • 顺序
    • 循环
    • 分支

分支结构

  • 分支结构基本语法
代码语言:txt
复制
    if 条件表达式
代码语言:txt
复制
          语句一
代码语言:txt
复制
          语句二
代码语言:txt
复制
          语句三
代码语言:txt
复制
          ......
  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级
  • 条件表达式结果为True执行if后面的缩进的语句块
代码语言:txt
复制
# if 语句联系
# 如果你们都给我钱,我就发财了
a = " "

# 字符串的真假:
# 只有空字符串为False,其余全为True
if a:
    print("我就发财了")
    print("哈哈")
     
print("日子还得过呀")
代码语言:txt
复制
我就发财了
代码语言:txt
复制
哈哈
代码语言:txt
复制
日子还得过呀
代码语言:txt
复制
# if联系二

age = 19

if age > 16:
    print("喝酒去")
    
print("下次你请我")
代码语言:txt
复制
喝酒去
代码语言:txt
复制
下次你请我

双向分支

  • if...else...表达
  • 语法结构:
代码语言:txt
复制
        if条件表达式:
代码语言:txt
复制
            语句一
代码语言:txt
复制
            语句二
代码语言:txt
复制
            ...
代码语言:txt
复制
        else:
代码语言:txt
复制
            语句一
代码语言:txt
复制
            语句二
代码语言:txt
复制
            ...
代码语言:txt
复制
# if 双向分支

# 如果你们都给我钱,我就发财了
a = " "

# 字符串的真假:
# 只有空字符串为False,其余全为True
if a:
    print("我就发财了")
    print("哈哈")
else:
    print("emmmm")
    print("继续吃土吧")
     
print("日子还得过呀")
代码语言:txt
复制
我就发财了
代码语言:txt
复制
哈哈
代码语言:txt
复制
日子还得过呀
代码语言:txt
复制
# input的作用的是
# 1. 在屏幕上输出括号内的字符串
# 2. 接收用户输入的内容并返回到程序
# 3. input返回的内容一定是字符串类型

# input负责接收用户输入并把内容返回给变量
gender = input("请输入您的性别")
#打印输入的内容
print(gender)

if gender == "man":
    print("走,抽烟喝酒剃头")
    print("一起玩儿去呀")
else:
    print("你到底是个啥子呀")
    print("对不起,我是男生")
代码语言:txt
复制
请输入您的性别man
代码语言:txt
复制
man
代码语言:txt
复制
走,抽烟喝酒剃头
代码语言:txt
复制
一起玩儿去呀
代码语言:txt
复制
# 考试成绩判断
# 成绩由用户输入
# 90以上:输出优秀
# 80-90:良
# 70-80:中
# 60-70:平
# 60以下: 输出: 我没你这傻学生

# 输入成绩,需要用到input函数
# input输入的值全部是字符串类型
score = input("请输入成绩,必须是数字呀")

# 解决输入是字符串的问题
score = int(score)
if score >= 90:
    print("你考得很好呀,小朋友")
if score >= 80 and score < 90:
    print("凉凉")
if score >= 70 and score <70:
    print("也行")
if score >= 60 and score <70: 
    print("就这么着吧")
if score < 60:
    print("下次接着考")
代码语言:txt
复制
请输入成绩,必须是数字呀1
代码语言:txt
复制
下次接着考

多路分支

  • 很多分支的情况,叫多路分支
代码语言:txt
复制
if 条件表达式:
代码语言:txt
复制
    语句1
代码语言:txt
复制
    ...
代码语言:txt
复制
elif 条件表达式:
代码语言:txt
复制
    语句1
代码语言:txt
复制
    ...
代码语言:txt
复制
elif 条件表达式:
代码语言:txt
复制
    语句1
代码语言:txt
复制
    ...
代码语言:txt
复制
else:
代码语言:txt
复制
    语句1
代码语言:txt
复制
    ... ...
  • elif可以有好多个,根据实际情况
  • else可选
  • 多路分支最多只会执行一种情况

if语句补充

  • if语句可以嵌套使用,不推荐
  • python没有switch语句
代码语言:txt
复制
# score  存放学生的成绩
# 注意input的返回值类型
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)

if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("起开,我没你这傻学生")
代码语言:txt
复制
请输入学生成绩:90
代码语言:txt
复制
A

循环语句

  • 重复执行某一固定的动作或者任务
  • 分类
    • for
    • while

for循环

  • 语法
代码语言:txt
复制
    for 变量 in 序列:
代码语言:txt
复制
        语句1
代码语言:txt
复制
        语句2
代码语言:txt
复制
        ...
代码语言:txt
复制
# for循环案例
# 比如[1,2,3,4,5,6,7]

list_one = [1,2,3,4,5,6,7]

for num in list_one:
    print(num)
    print(num+100)
    print(num+1000)
代码语言:txt
复制
1
代码语言:txt
复制
101
代码语言:txt
复制
1001
代码语言:txt
复制
2
代码语言:txt
复制
102
代码语言:txt
复制
1002
代码语言:txt
复制
3
代码语言:txt
复制
103
代码语言:txt
复制
1003
代码语言:txt
复制
4
代码语言:txt
复制
104
代码语言:txt
复制
1004
代码语言:txt
复制
5
代码语言:txt
复制
105
代码语言:txt
复制
1005
代码语言:txt
复制
6
代码语言:txt
复制
106
代码语言:txt
复制
1006
代码语言:txt
复制
7
代码语言:txt
复制
107
代码语言:txt
复制
1007
代码语言:txt
复制
# 打印学生列表姓名
# 如果是jingjing,那肯定是我的最爱呀
# 如果是别的学生,那要冷酷的拒绝他

stu_list = ['王大眼','李美丽','王晓静']

for stu in stu_list:
    if stu == "王晓静":
        print("晓静你去了哪里")
    else:
        print("对不起同学,饶了老衲吧")
代码语言:txt
复制
对不起同学,饶了老衲吧
代码语言:txt
复制
对不起同学,饶了老衲吧
代码语言:txt
复制
晓静你去了哪里

for-else语句

  • for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
  • else语句是可选的
代码语言:txt
复制
# for-else语句
# 打印列表中的同学
# 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了

stu_list = ['王大眼','李美丽','王晓静']

for stu in stu_list:
    if stu == "王晓静":
        print("晓静你去了哪里")
    else:
        print("对不起同学,饶了老衲吧")
else:
    print("不会再爱了")
代码语言:txt
复制
对不起同学,饶了老衲吧
代码语言:txt
复制
对不起同学,饶了老衲吧
代码语言:txt
复制
晓静你去了哪里
代码语言:txt
复制
不会再爱了

break,continue,pass

  • break:无条件结束整个循环,简称循环猝死
  • continue:继续
  • pass:只是占位符号,代表这句话啥也不干,没有跳过功能
代码语言:txt
复制
# 确定一个数字队列中是否包含数字7
# 确定是否包含,只要找到一个即可确定,不需要再继续往下找了,所以使用break

dig_list = [3,4,6,7,54,3,23,2,4,7]

for dig in dig_list:
    if dig == 7:
        print("哈哈哈,找到了")
        break
    else:
        print(dig)
代码语言:txt
复制
3
代码语言:txt
复制
4
代码语言:txt
复制
6
代码语言:txt
复制
哈哈哈,找到了
代码语言:txt
复制
# continue语句练习
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数

dig_list = [1,2,3,4,5,6,7,8,9,10]

'''
# continue案例1

for dig in dig_list:
    if dig % 2 == 0:
        print(dig)
        print("哈哈,你是个双的")
    else:
        continue
'''

# 此段代码跟上面代码等价
for dig in dig_list:
    if dig % 2 == 1:
        continue
        
    print(dig)    
    print("哈哈,你是个双的")
代码语言:txt
复制
2
代码语言:txt
复制
哈哈,你是个双的
代码语言:txt
复制
4
代码语言:txt
复制
哈哈,你是个双的
代码语言:txt
复制
6
代码语言:txt
复制
哈哈,你是个双的
代码语言:txt
复制
8
代码语言:txt
复制
哈哈,你是个双的
代码语言:txt
复制
10
代码语言:txt
复制
哈哈,你是个双的
代码语言:txt
复制
# pass案例1

age = 19
if age > 19:
    pass
else:
    print("你还小")
代码语言:txt
复制
你还小
代码语言:txt
复制
# pass案例2

ages = [2,23,43,54,65,2]
for age in ages:
    pass
    print(age)
代码语言:txt
复制
2
代码语言:txt
复制
23
代码语言:txt
复制
43
代码语言:txt
复制
54
代码语言:txt
复制
65
代码语言:txt
复制
2

range函数

  • 生成有序数列
  • 生成数字队列可以定制
代码语言:txt
复制
# range案例1
# 生成一个从1到100的数字序列
# range的生成序列的两个数字是左包括右边不包括
dig_list = range(1,101)
for dig in dig_list:
    print(dig)
    
# 一般在python中,连个表示范围的数字都是左包括右边不包括,randint函数是个特例
# range函数在python2.x和python3.x中有严重区别
代码语言:txt
复制
1
代码语言:txt
复制
2
代码语言:txt
复制
3
代码语言:txt
复制
4
代码语言:txt
复制
5
代码语言:txt
复制
6
代码语言:txt
复制
7
代码语言:txt
复制
8
代码语言:txt
复制
9
代码语言:txt
复制
10
代码语言:txt
复制
11
代码语言:txt
复制
12
代码语言:txt
复制
13
代码语言:txt
复制
14
代码语言:txt
复制
15
代码语言:txt
复制
16
代码语言:txt
复制
17
代码语言:txt
复制
18
代码语言:txt
复制
19
代码语言:txt
复制
20
代码语言:txt
复制
21
代码语言:txt
复制
22
代码语言:txt
复制
23
代码语言:txt
复制
24
代码语言:txt
复制
25
代码语言:txt
复制
26
代码语言:txt
复制
27
代码语言:txt
复制
28
代码语言:txt
复制
29
代码语言:txt
复制
30
代码语言:txt
复制
31
代码语言:txt
复制
32
代码语言:txt
复制
33
代码语言:txt
复制
34
代码语言:txt
复制
35
代码语言:txt
复制
36
代码语言:txt
复制
37
代码语言:txt
复制
38
代码语言:txt
复制
39
代码语言:txt
复制
40
代码语言:txt
复制
41
代码语言:txt
复制
42
代码语言:txt
复制
43
代码语言:txt
复制
44
代码语言:txt
复制
45
代码语言:txt
复制
46
代码语言:txt
复制
47
代码语言:txt
复制
48
代码语言:txt
复制
49
代码语言:txt
复制
50
代码语言:txt
复制
51
代码语言:txt
复制
52
代码语言:txt
复制
53
代码语言:txt
复制
54
代码语言:txt
复制
55
代码语言:txt
复制
56
代码语言:txt
复制
57
代码语言:txt
复制
58
代码语言:txt
复制
59
代码语言:txt
复制
60
代码语言:txt
复制
61
代码语言:txt
复制
62
代码语言:txt
复制
63
代码语言:txt
复制
64
代码语言:txt
复制
65
代码语言:txt
复制
66
代码语言:txt
复制
67
代码语言:txt
复制
68
代码语言:txt
复制
69
代码语言:txt
复制
70
代码语言:txt
复制
71
代码语言:txt
复制
72
代码语言:txt
复制
73
代码语言:txt
复制
74
代码语言:txt
复制
75
代码语言:txt
复制
76
代码语言:txt
复制
77
代码语言:txt
复制
78
代码语言:txt
复制
79
代码语言:txt
复制
80
代码语言:txt
复制
81
代码语言:txt
复制
82
代码语言:txt
复制
83
代码语言:txt
复制
84
代码语言:txt
复制
85
代码语言:txt
复制
86
代码语言:txt
复制
87
代码语言:txt
复制
88
代码语言:txt
复制
89
代码语言:txt
复制
90
代码语言:txt
复制
91
代码语言:txt
复制
92
代码语言:txt
复制
93
代码语言:txt
复制
94
代码语言:txt
复制
95
代码语言:txt
复制
96
代码语言:txt
复制
97
代码语言:txt
复制
98
代码语言:txt
复制
99
代码语言:txt
复制
100
代码语言:txt
复制
# range3
# 打印从1到9的数字
for i in range(1,10):
    print(i)
代码语言:txt
复制
1
代码语言:txt
复制
2
代码语言:txt
复制
3
代码语言:txt
复制
4
代码语言:txt
复制
5
代码语言:txt
复制
6
代码语言:txt
复制
7
代码语言:txt
复制
8
代码语言:txt
复制
9

while循环

  • 一个循环语句
  • 表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定在某个条件成立的情况下就循环
  • while语法
代码语言:txt
复制
    while 条件表达式:
代码语言:txt
复制
        语句块
代码语言:txt
复制
    #另外一种表达方法
代码语言:txt
复制
    while 条件表达式:
代码语言:txt
复制
        语句块1
代码语言:txt
复制
    else:
代码语言:txt
复制
        语句块2
代码语言:txt
复制
# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本金会翻倍

benqian = 10000
year = 0 # 存放需要翻本的年数

while benqian < 20000:
    benqian = benqian * (1 + 0.067)
    year += 1      # year = year + 1
    
print(year)

# 年利率案例2
# 本案例中循环体没有被执行
while benqian < 20000:
    benqian = benqian * (1 + 0.067)
    year += 1      # year = year + 1
else:
    print(year)
代码语言:txt
复制
11
代码语言:txt
复制
11

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 程序结构
  • 分支结构
  • 双向分支
  • 多路分支
  • if语句补充
  • 循环语句
  • for循环
  • for-else语句
  • break,continue,pass
  • range函数
  • while循环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档