Python基础知识(二)之程序的控制结构

目录

一、程序的描述方式

1、3种类型

2、流程图元素

二、程序基本结构

1、3种类型

 2、分支结构

(1)关系操作符

(2)单分支——if语句

(3)二分支——if-else结构

(4)多分支结构——if-elif-else结构

3、循环结构

(1)for语句

(2)while()函数 

(3)循环的扩展模式——else

(4)循环保留字——break/continue


一、程序的描述方式

1、3种类型

  • 自然语言(如问题IPO的描述——Input/processing/output)
  • 流程图
  • 伪代码(可理解为计算机语言,目的是让计算机能够理解并执行,如python代码,)

     自然语言(IPO)能够让我们搭建问题解决的框架流程图则是这个框架的细化,为了我们在实际操作上更有逻辑性,而伪代码就是真正让问题解决的措施被计算机所理解并执行

2、流程图元素

起止框:程序的开始和结束

判断框:判断一个条件是否成立

处理框:表示处理过程

输入/输出框:表示结果的输入/输出结果

注释框:增加对程序的解释

连接点:将多个流程图连接在一起

举例(如下图)

二、程序基本结构

1、3种类型

  • 顺序结构(按照线性顺序执行指令)
  • 分支结构(根据对条件的判断选择不同的路径去执行指令)
  • 循环结构(根据条件判断,反复执行某一指令使结果最终达成自己想要)

 2、分支结构

(1)关系操作符

在分支结构中常见的是利用关系操作符来判断是否执行指令/或执行哪一条指令

 注意!!!!!!(在前几篇专栏内容里也反复强调的一点)

==是等于,=是赋值(不可用于条件判断!!!)

拓展补充:关系符用于比较,字符串的比较实际就是Unicode编码的比较,英文大写字母的Unicode<小写字母的

"Python" > "python"  #大写字母应该<小写字母
False

(2)单分支——if语句

在条件判断中只有if来表示那就是单分支,而不是说if出现了很多次就是多分支结构了。

在下图:即便if出现了三次,但它任然作为单分支结构。

a=eval(input())   #想要比较数值的大小,利用eval函数将字符串转换为数值
if a>0:
    print("True")
if a==0:
    print("True")
if a<0:
    print("False")

(3)二分支——if-else结构

  • 第一种表示方法

        if <条件>:

                <语句块1>

        else:

                <语句块2>

a=eval(input())   
if a>0:    #分号不可以忘记!!!
    print("True")
if a==0:
    print("True")
else:           #若改成else a<0则格式错误,这样的表示不被计算机理解
    print("False")
  • 第二种表示方式(放在format()函数中)

<语句块1> if <条件> else <表达式2> 

#若if后的条件成立则执行语句块1,否则,执行语句块2

a=eval(input())
print("{}".format("True" if a>=0 else "False")) 
!!!!#{}不能遗漏,{}对应的是输出结果的语句,在format()函数中条件语句的判断无逗号,分隔

实例(python123):

题目:获得用户输入,无论输入内容多少,以 30 字符宽度居中输出其中最多前 10 个字符,如果不足 10 个字符,则全部输出。

s=input()
print("{0:^30}".format(s[:10] if len(s)>10 else s))

(4)多分支结构——if-elif-else结构

          if <条件>:

                <语句块1>

          elif <条件>:

                <语句块2>

          else:

                <语句块3>

3、循环结构

(1)for语句

语法: for <循环变量> in <遍历结构>

                        <语句块>

语义:从<遍历结构>中逐个提取元素,将被提取的元素放入循环变量,然后逐个执行语句块

解释说明:for语句循环次数依据遍历结构中确定的(有明确循环次数的)

1
for s in "BIT":
    print("循环进行时:"+s)  #+s可以理解为把BIT逐个提取出来,从B开始到T依次放入s中,依次执行(print()就是它的执行语句)

输出结果为:
循环进行时:B
循环进行时:I
循环进行时:T

2
for s in "BIT":
    print("循环进行时:{}".format(s))  #{}不可省略!!!!!!!!

输出结果为:
循环进行时:B
循环进行时:I
循环进行时:T

3
for s in "BIT":
    print(s)
输出结果为:
B
I
T

(2)while()函数 

语法:while <条件>

                <语句块>

语义:当符合<条件>时(True),循环重复执行语句块中的内容///当不符合<条件>时(False),循环终止、

解释说明:while语句没有明确循环次数,如果要通过while实现限定的循环次数,需要在循环之前对计数器idx实现初始化,并在每次循环时对idx进行累加

s,idx="BIT",0  #对idx实现初始化
while idx<len(s):    #通过idx实现有限循环的条件(计数循环)
    print("循环进行中:"+s[idx])  #[idx]不可省略,s[idx]可以理解为索引,idx=0,索引至字符B,进行对单个字符的输出
    idx+=1   #对idx实现累加
else:
    s="循环正常结束"
print(s)

输出结果为
循环进行中:B
循环进行中:I
循环进行中:T
循环正常结束

(3)循环的扩展模式——else

else在循环结构中的作用:else只在循环正常执行并结束后才执行,用来判断循环执行情况

for s in "BIT":
    print(s)
else:
    s="循环正常结束"
print(s)
输出结果为:
B
I
T
循环正常结束

(4)循环保留字——break/continue

break:跳出内层循环后结束整个循环 

continue:跳出本次循环,但不终止整个循环的运行

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ziskakkkkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值