本文分享Python的程序结构的知识,供大家学习交流。

目录

一、Pyhton的程序结构

1、程序的组织结构

2、顺序结构

3、选择(分支)结构

3.1 单分支if结构

3.2 双分支if...else 结构

3.3 多分支if...elif...else 结构

3.4 if语句的嵌套

3.5 条件表达式

4、循环结构

4.1 range()函数的使用

三种创建方式:

range的优点:

4.2 while循环

语法结构:

选择结构if与循环结构while的区别:

while循环的执行流程:

4.3 for-in循环

语法结构:

4.4 break、continue与else语句

流程控制语句break

流程控制语句continue

else语句

if (条件不成立时执行else)

while(循环结束,没有遇到break时执行else)

for(循环结束,没有遇到break时执行else)

4.5 嵌套循环

5、对象的布尔值

6、pass空语句


一、Pyhton的程序结构

1、程序的组织结构

1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。

Python实现结构方程模型的路径分析_Python实现结构方程模型的路径分析

Python实现结构方程模型的路径分析_代码示例_02

2、顺序结构

程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束。

Python实现结构方程模型的路径分析_循环结构_03

3、选择(分支)结构

程序根据判断条件的布尔值选择性地执行部分代码。

Python实现结构方程模型的路径分析_循环结构_04

3.1 单分支if结构

Python实现结构方程模型的路径分析_代码示例_05

money=1000
s=int(input('请输入取款金额:'))
if money>=s:
    money-=s
    print('取款成功,余额为:',money)

3.2 双分支if...else 结构

二选一

Python实现结构方程模型的路径分析_开发语言_06

num=int(input('请输入一个整数:'))
if num%2==0:
    print(num,'为偶数')
else:
    print(num,'为奇数')

3.3 多分支if...elif...else 结构

Python实现结构方程模型的路径分析_Python实现结构方程模型的路径分析_07

执行业务流程

Python实现结构方程模型的路径分析_Python实现结构方程模型的路径分析_08

score=int(input('请输入考试成绩: '))
if score>=90 and score<=100:
    print('成绩等级为:A')
elif score>=80 and score<90:
    print('成绩等级为:B')
elif score>=70 and score<80:
    print('成绩等级为:C')
elif score>=60 and score<70:
    print('成绩等级为:D')
else:
    print('成绩不及格')

注意:在python中允许90<=score<=100

3.4 if语句的嵌套

Python实现结构方程模型的路径分析_Python实现结构方程模型的路径分析_09

money=float(input('请输入您的消费金额: '))
answer=input('请问您是会员吗(y/n)')
if answer=='y':
    print('会员')
    if money>=200:
        print('打8折')
    elif money>=100:
        print('打9折')
    else:
        print('不打折')
else :
    print('非会员')
    if money>=200:
        print('打9.5折')
    else:
        print('不打折')

3.5 条件表达式

if.... else的缩写。

语法结构:x if 判断条件 else y

运算规则:如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式返回值为y

#if else代码
a=int(input('请输入一个整数: '))
b=int(input('请输入另一个整数: '))
if a>=b:
    print(a,'大于等于', b)
else:
    print(a,'小于',b)
#条件表达式代码
print( (a,'大于等于', b) if a>=b else  (a,'小于',b) )
print( str(a)+'大于等于'+ str(b) if a>=b else  str(a)+'小于'+str(b) )

4、循环结构

Python实现结构方程模型的路径分析_python_10

4.1 range()函数的使用

用于生成一个整数序列,返回值是一个迭代。

三种创建方式:
range(stop)
  • 创建一个(0,stop)之间的整数序列
  • 默认从0开始,步长为1
range(start,stop)
  • 创建一个(start,stop)之间的整数序列
  • 从start开始,到stop结束,默认步长为1
range(start,stop,step)
  • 创建一个(start,stop)之间的整数序列
  • 从start开始,到stop结束,步长为step
r=range(10)
print(list(r))

print(10 in r)
print(10 not in r)

in判断指定整数在序列中是否存在

not in判断指定整数在序列中是否不存在

range的优点:
  • 不论range表示的整数序列有多长,所有range对象占有的内存空间都是相同的,因为只需要存储start, stop ,step
  • 只有用到range对象时,才会去计算序列中的相关元素

4.2 while循环

Python实现结构方程模型的路径分析_代码示例_11

语法结构:
  • while 条件表达式 :
  • 条件执行体(循环体)
a=1
while a<10:
    print(a)
        a+=1
选择结构if与循环结构while的区别:
  • if是判断一次,条件为True执行一行
  • while是判断N+1次,条件为True执行N次
while循环的执行流程:
  • 初始化变量
  • 条件判断
  • 条件执行体(循环体)
  • 改变变量
  • (初始化的变量与条件判断的变量与改变的变量为同一个)
print('计算1到100之间的偶数和')
#初始化变量
a=2
sum=0
#条件判断
while a<=100:
    #条件执行体    
    if a%2==0:
    #或 if not bool(a%2):
        sum+=a
    #改变变量    
    a+=1
print('1到100之间的偶数和为:',sum)

4.3 for-in循环

Python实现结构方程模型的路径分析_开发语言_12

in表达从(字符串、序列等)中依次取值,又称为遍历

for-in 遍历的对象必须是可迭代对象

语法结构:
  • for  自定义的变量 in 可迭代对象 :
  • 循环体

如果在循环体中不需要用到自定义变量,可将自定义变量定义为_

#代码示例1
for item in 'python':
    print(item)

#代码示例2
for k in range(10):
    print(k)

#代码示例3
for _ in range(5):
    print('人生苦短,我用python')

#代码示例4 用for in 计算1到100之间的偶数和
print('用for in 计算1到100之间的偶数和')
sum=0
for j in range(1,101):
     if j%2==0:
     sum+=j
print('1到100之间的偶数和为:',sum)

#练习 要求输出100到999之间的水仙花数
print('输出100到999之间的水仙花数')
for i in range(100,1000,1):
    a=i%10  #取个位数
    b=i//10%10 #取十位数
    c=i//100   #取百位数
    if a**3+b**3+c**3==i:
        print(i)

4.4 break、continue与else语句

流程控制语句break

Python实现结构方程模型的路径分析_python_13

用于结束循环结构,通常与分支机构if一起使用。

#代码示例1
for item in range(3):
        pwd=input('请输入密码: ')
    if pwd=='888':
        print('密码正确!')
        break

    else:
        print('密码错误,请再次输入!')

#代码示例2
a=0
while a<3:
        pwd=input('请输入密码: ')
    if pwd=='888':
        print('密码正确!')
        break
    else:
        print('密码错误,请重新输入!')
        a+=1
流程控制语句continue

Python实现结构方程模型的路径分析_开发语言_14

用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用。

#代码示例 输出1到50之间所有5的倍数
print('输出1到50之间所有5的倍数')
for item in range(1,51):
    if item%5:
        continue
    else:
        print(item)
else语句

Python实现结构方程模型的路径分析_循环结构_15

三种情况

if (条件不成立时执行else)
while(循环结束,没有遇到break时执行else)
a=0
while a<3:
    pwd=input('请输入密码: ')
    if pwd=='888':
        print('密码正确!')
        break
    else:
        print('密码错误!')
    a+=1
else:
    print('对不起,三次密码均输入错误!')
for(循环结束,没有遇到break时执行else)
for item in range(3):
    pwd=input('请输入密码: ')
    if pwd=='888':
        print('密码正确!')
        break
    else:
        print('密码错误!')
else:
    print('对不起,三次密码均输入错误!')

4.5 嵌套循环

Python实现结构方程模型的路径分析_python_16

循环结构中又嵌套了另外的完整循环结构,其中内层循环作为外层循环的循环体执行。

#代码示例1
print('输出一个三行四列的矩形')
for i1 in range(3):
    for j1 in range(4):
        print('*',end='')
print()

#代码示例2
print('打印一个直角三角形')
for i2 in range(9):
    for j2 in range(i2):
    print('*',end='')
print()

#代码示例3
print('打印九九乘法表')
for i3 in range(1,10):
    for j3 in range(1,i3+1):
    print(i3,'*',j3,'=',i3*j3,end='\\t')
print()

二重循环中的break和continue用于控制本层循环。

Python实现结构方程模型的路径分析_开发语言_17

5、对象的布尔值

Python实现结构方程模型的路径分析_代码示例_18

python一切皆对象,所有对象都bool()有一个布尔值。

获取对象的布尔值函数。

以下对象的布尔值为False,其他对象的布尔值为True:

#False 
print(bool(False))
#数值0 
print(bool(0))  
print(bool(0,0))
#None 
print(bool(None))
#空字符串 
print(bool('') 
print(bool("")
#空列表 
print(bool([])) 
print(bool(list()))
#空元组 
print(bool(())) 
print(bool(tuple()))
#空字典 
print(bool(dirct()))
#空集合
print(bool(set()))
#布尔值为True
print(bool(18))
print(bool(True))
print(bool('helloworld'))

6、pass空语句

语句什么都不做,只是一个占位符,用在语法上需要语句的地方。

适用情况:先搭建语法结构,还没想好代码怎么写时

常与以下语句一起使用:

  • if语句的条件执行体
  • for-in 语句的循环体
  • 定义函数时的函数体