目录
一、程序的描述方式
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:跳出本次循环,但不终止整个循环的运行