Python程序的组织结构

本文详细介绍了Python编程中的顺序、选择和循环结构,包括if条件判断、while和for循环的使用,并通过实例展示了嵌套循环和流程控制语句如break和continue的应用。此外,还涵盖了布尔值、条件表达式和pass语句的用法,以及在循环中如何利用break和continue控制流程。最后,通过一系列编程练习巩固了这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、顺序结构

二、选择结构

2.1 对象的布尔值

2.2 分支结构

单分支结构

双分支结构

多分支结构

2.3 嵌套if

2.4 条件表达式

2.5 pass语句

三、循环结构

3.1 range() 函数

3.2 while 循环

练习1:用whlie循环求1到100的偶数和

3.3 for-in 循环

练习1:用 for-in 循环求1到100的偶数和

练习2:用 for-in 循环输出100到999间的水仙花数

3.4 嵌套循环

练习1:输出一个四行六列的矩形

练习2:输出一个高为6,底为6的等腰直角三角形

练习3:输出九九乘法表

注意:嵌套循环中的 break 和 continue 用于控制本层循环,不影响外层循环

四、流程控制语句

4.1 break 语句

练习1:(for-in 循环)输入密码,如果正确就结束循环,最多输入3次

练习2:(while 循环)输入密码,如果正确就结束循环,最多输入3次

4.2 continue 语句

练习1:使用continue语句,输出1到50之间所有5的倍数

4.3 else 语句

练习1:输入密码,如果正确就结束循环,最多输入3次


一、顺序结构

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

print('程序开始')
print('1.开门')
print('2.拿东西')
print('3.关门')
print('程序结束')

运行结果

二、选择结构

2.1 对象的布尔值

内置函数bool()

  • 获取对象的布尔值

布尔值为False的对象

  • False
  • None
  • 数值0
  • 空字符串
  • 空列表
  • 空元组
  • 空字典
  • 空集合
print(bool(False))
print(bool(None))
print(bool(0))  #数值0
print(bool(''))  # 空字符串
print(bool(""))  # 空字符串
print(bool([]))  # 空列表
print(bool(list()))  # 空列表
print(bool(()))  # 空元组
print(bool(tuple()))  # 空元组
print(bool({}))  # 空字典
print(bool(dict()))  # 空字典
print(bool(set()))  # 空集合

运行结果

2.2 分支结构

单分支结构

if 条件表达式:

        条件执行体

双分支结构

if 条件表达式:

        条件执行体1

else:

        条件执行体2

多分支结构

if 条件表达式1:

        条件执行体1

elif 条件表达式2:

        条件执行体2

... ...

elif 条件表达式N:

        条件执行体N

[else:]

       [条件执行体N+1]

2.3 嵌套if

if 条件表达式1:

        if 内层条件表达式1:

                内层条件执行体1

        else:

                内层条件执行体2

else:

        条件执行体

2.4 条件表达式

  • 条件表达式是 if......else 的简写

if  判断条件  else  y

如果判断条件的布尔值为 True,条件表达式返回为 x否则条件表达式返回值为 False

2.5 pass语句

语句什么都不做,相当于一个占位符,用在语法上需要语句的地方

使用场景:

  • 先搭建语法结构,还没有想好代码怎么写的时候

搭配使用的语句:

  • if 语句的条件执行体
  • for-in 语句的循环体
  • 定义函数时的函数体
age=int(input('你的年龄是:'))
if 18<age<55:
    pass
else:
    pass

运行结果

三、循环结构

3.1 range() 函数

  • 用于生成一个整数序列
  • 返回值是一个迭代器对象
  • 判断整数序列中是否存在(不存在)指定的整数用 innot in 

创建 range 对象的三种方式:

  • range(stop):创建一个 [0,stop) 之间的整数序列,步长为1
  • range(start,stop):创建一个 [start,stop) 之间的整数序列,步长为1
  • range(start,stop,step):创建一个 [start,stop) 之间的整数序列,步长为 step

range 类型的优点:

  • 不管 range 对象表示的整数序列有多长,所有 range 对象占用的内存空间都是相同的,仅存储 start、stop 和 step。只有当用到 range 对象时,才会去计算序列中的相关元素。
r=range(1,7,2)

print(r)  #range()函数返回值为迭代器对象
print(list(r))  #获取range对象整数序列值用列表list

print(3 in r)
print(3 not in r)

运行结果

3.2 while 循环

while 条件表达式:

        条件执行体(循环体)

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

  • if 判断1次,条件为 True 执行1次
  • whlie 判断 N+1次,条件为 True 执行 N

练习1:用whlie循环求1到100的偶数和

sum=0
a=1
while a<=100:
    if a%2==0:
        sum+=a
    a+=1
print(sum)

运行结果

拓展:将 if 条件语句改为 a%2:

sum=0
a=1
while a<=100:
    if a%2:
        sum+=a
    a+=1
print(sum)

运行结果:

 此时求的是1到100的奇数和,因为当a为奇数时,if 条件表达式中 bool(a%2) 即 bool(1),返回 True,执行 if 条件执行体;当a为偶数时相反。

3.3 for-in 循环

  • in 表达从字符串、序列等中依次取值,又称为遍历
  • for-in 遍历的对象必须是可迭代对象

for 自定义变量 in 可迭代对象 :

        循环体

for a in 'hello':
    print(a)

运行结果

  • 如果在循环体内不需要访问自定义变量,可以将自定义变量替换为下划线_
for _ in range(10):
    print('和你说10次hello')

运行结果

练习1:用 for-in 循环求1到100的偶数和

sum=0
for i in range(1,101):
    if i%2==0:
        sum+=i
print(sum)

运行结果

练习2:用 for-in 循环输出100到999间的水仙花数

for i in range(100,1000):
    if (i//100)**3+(i//10%10)**3+(i%10)**3==i:
        print(i)

运行结果

3.4 嵌套循环

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

ex.

while ... :

        ... ...       

        for ... in ... :

                ... ...

        ... ...

练习1:输出一个四行六列的矩形

for i in range(0,4):
    for j in range (0,6):
        print('*',end='\t')  # 不换行输出
    print()  #换行

运行结果

练习2:输出一个高为6,底为6的等腰直角三角形

for i in range(0,7):
    for j in range (0,i):
        print('*',end='\t')  # 不换行输出
    print()  #换行

运行结果

练习3:输出九九乘法表

for i in range(1,10):
    for j in range (1,i+1):
        print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')  # 不换行输出
    print()  #换行

运行结果

注意:嵌套循环中的 break 和 continue 用于控制本层循环,不影响外层循环

四、流程控制语句

4.1 break 语句

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

for ... in ... :

        ... ...

        if ... :

                break

while ... :

        ... ...

        if ... :

                break

练习1:(for-in 循环)输入密码,如果正确就结束循环,最多输入3次

for i in range(3):
    pwd=input('请输入密码:')
    if pwd=='123456':
        print('密码正确')
        break
    else:
        print('密码错误')
    if i==2:
        print('错误次数超过上限')

运行结果

练习2:(while 循环)输入密码,如果正确就结束循环,最多输入3次

i=0

while i<3:
    pwd=input('请输入密码:')
    if pwd=='123456':
        print('密码正确')
        break
    else:
        print('密码错误')
    if i==2:
        print('错误次数超过上限')
    i+=1

运行结果

4.2 continue 语句

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

for ... in ... :

        ... ...

        if ... :

               continue

        ... ...

while ... :

        ... ...

        if ... :

                continue

        ... ...

练习1:使用continue语句,输出1到50之间所有5的倍数

for i in range(1,51):
    if i%5 != 0:
        continue
    print(i)

运行结果

4.3 else 语句

与 else 语句配合使用的两种情况

  • if 条件表达式为 False 时执行 else
  • for-in 或 while 循环中始终没有碰到 break 时执行 else

if ... :

        ... ...

else:

        ... ...

for ... in ... :

        ... ...

else:

        ... ...

while ... :

        ... ...

else:

        ... ...

练习1:输入密码,如果正确就结束循环,最多输入3次

for i in range(3):
    pwd=input('请输入密码:')
    if pwd=='123456':
        print('密码正确')
        break
    else:
        print('密码错误')
else:
        print('错误次数超过上限')

运行结果


 Flag:我要成为一个日更选手:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值