【Python 基础篇】Python代码 之 程序结构

目录

前言

一、顺序结构

1.1  分支结构

1.2  双向分支

1.3  多路分支

1.4  if语句补充

二、顺序结构

三、循环结构

while

while ... else ...

for ... in

for ... else ...

         四、流程控制语句

break

continue

pass


前言

程序运行三大流程:顺序、选择、循环。

一、顺序结构

1.1  分支结构

  • 分支结构基本语法

      if 条件表达式
            语句一
            语句二
            语句三
            ......
    
  • 条件表达式就是计算结果必须为布尔值的表达式

  • 表达式后面的冒号不能少

  • 注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级

  • 条件表达式结果为True执行if后面的缩进的语句块

1.2  双向分支

  • if…else…表达

  • 语法结构:

          if条件表达式:
              语句一
              语句二
              ...
          else:
              语句一
              语句二
              ...

1.3  多路分支

  • 很多分支的情况,叫多路分支

    if 条件表达式:
    语句1

    elif 条件表达式:
    语句1

    elif 条件表达式:
    语句1

    else:
    语句1
    … …

  • elif可以有好多个,根据实际情况

  • else可选

  • 多路分支最多只会执行一种情况

1.4  if语句补充

  • if语句可以嵌套使用,不推荐
  • python没有switch语句
# 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("起开,我没你这傻学生")

二、顺序结构

三、循环结构

循环结构可以减少源程序重复书写的工作量(代码量),用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。

Python中循环结构分为两类,分别是 while 和 for .. in

3.1 while

格式1: while 

num1,num2 = 3,5
while num1 < num2:
    print('如果条件成立,会进入循环体,我所处的这块区域,就是循环体')
    num1 += 1   #控制循环条件中的变量,否则进入死循环

死循环: 死循环就是循环不会终止的循环类型,设置条件永远为True来实现,但非常占用资源

格式2:while ... else ...

num1,num2 = 3,5
while num1 < num2:
    print('如果条件成立,会进入循环体')
    num1 += 1
else:
    print('条件不成立时,我会被输出')

注意: while循环中的else是在while条件表达式为假的情况下执行的代码内容

3.2  for ... in

for 变量 in 容器:用于遍历容器类的数据(字符串,列表,元组,字典,集合)

格式1:

user_list = ['小明','小红','小强','小军']  # 遍历列表
for val in user_list:
    print(val)

格式2:

data = ('a','alibaba'),('b','baidu'),('c','changhong')
for k,v in data:
    print(k,'======>',v)

使用格式2请注意: 要求遍历的容器必须是以下几种格式

[(),(),()]    列表中有元组
[[],[],[]]    列表中有列表
((),(),())    元组中有元组
{(),(),()}    集合中有元组
字典的特殊使用

格式3:

data = ('a','b','c','d','e')
for v in data:
    print(v)
else:
    print('我else区间又来啦!')

循环结束时执行else区间的代码

补充 :for 中使用 range() 函数

>>> for i in range(5):
...     print(i)
...
0
1
2
3
4

range(10) 生成了一个包含 10 个值的链表,它用链表的索引值填充了这个长度为 10 的列表,所生成的链表中不包括范围中的结束值。也可以让 range() 操作从另一个数值开始,或者可以指定一个不同的步进值(甚至是负数,有时这也被称为 “步长”):

range(5, 10)   # 5 ,6 ,7 ,8 ,9
   5 through 9

range(0, 10, 3)   # 指定步长 为 3 
   0, 3, 6, 9

range(-10, -100, -30) # 指定步长 为 -30
  -10, -40, -70

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb

四、流程控制语句


4.1 break 

break 语句和 C 中的类似,用于跳出最近的一级 for 或 while 循环

翻译:破坏,结束
作用:在循环中break的作用是终止当前循环结构的后续所有操作,一点程序运行了break,循环也就终止了。

循环可以有一个 else 子句;它在循环迭代完整个列表(对于 for )或执行条件为 false (对于 while )时执行,但循环被 break 中止的情况下不会执行。以下搜索素数的示例程序演示了这个子句:

>>> for n in range(2, 10):
...     for x in range(2, n): #这里,n=2 , 不满足 for x in range(2,2) 条件
...         if n % x == 0:
...             print(n, 'equals', x, '*', n//x)
...             break   # 满足条件,直接break 到上一层,同时else 语句是不执行的
...     else:
...         # loop fell through without finding a factor
...         print(n, 'is a prime number')
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

4.2 continue

continue 语句是从 C 中借鉴来的,它表示循环继续执行下一次迭代:

翻译:继续
作用:在循环中continue的作用是跳过本次循环,开始下一次循环。continue执行之后本次循环的后续代码不再执行,直接进入下一次循环。
>>> for num in range(2, 10):
...     if num % 2 == 0:
...         print("Found an even number", num) 
...         continue            # 满足条件,直接开启下一次循环变量循环,也就是:不执行print 语句
...     print("Found a number", num)
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9

4.3 pass

pass 语句什么也不做。它用于那些语法上必须要有什么语句,但程序什么也不做的场合,例如:

翻译:忽略
作用:pass是没有任何意义的空语句,主要用来占位用,避免语法错误。
>>> while True:
...     pass  # Busy-wait for keyboard interrupt (Ctrl+C)
...

这通常用于创建最小结构的类:

>>> class MyEmptyClass:
...     pass
...

另一方面,pass 可以在创建新代码时用来做函数或控制体的占位符。可以让你在更抽象的级别上思考。pass 可以默默的被忽视:

>>> def initlog(*args):
...     pass   # Remember to implement this!
...

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值