03-程序组织结构

程序的组织结构

程序的组织结构包括顺序结构选择结构【if】以及循环结构[for/while]组成。

顺序结构

顺序结构: 从上往下顺序执行,没有判断和跳转。

print("程序开始")

print('打印1')
print('打印2')
print('打印3')

print("程序结果")
# 打印结果:
# 程序开始
# 打印1
# 打印2
# 打印3
# 程序结果

选择结构

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

单分支结构

  • 语法结构
    if 条件表达式 :
            条件执行体
  • 例子
age = 18
if age>= 18:
    print('已经成年了')
# 打印结果:
已经成年了

双分支结构

  • 语法结构
    if 条件表达式 :
            执行体1
    else:
            执行体2
  • 例子
# 从键盘录入一个整数,判断这个数是偶数或者奇数

num = int(input('请输入一个整数:'))

if num % 2 == 0:
    print(num,'是一个偶数')
else:
    print(num,'是一个奇数')

多分支结构

  • 语法结构
    if 条件表达式:
            条件执行体
    elif 条件表达式:
            条件执行体
    else:
            条件执行体
  • 例子
# 录入一个学生的成绩,并坐一下判断:
# 100-90分  A级
# 89-80  B级
# 79-70  C级
# 69-60  D级
# 59-0   E级

grade = int(input('请录入一个学生的成绩:'))

if grade >= 90 and grade <= 100:
    print('A级',grade)
elif grade >= 80 and grade <= 89:
    print('B级',grade)
elif grade >= 70 and grade <= 79:
    print('C级',grade)
elif grade >= 60 and grade <= 69:
    print('D级',grade)
elif grade >= 0:
    print('E级',grade)
else:
    print('输入值无效',grade)

嵌套if

  • 语法结构
    if 条件表达式1:
            if 条件表达式2:
                    执行体1
            else:
                    执行体2
    else:
            执行体3
  • 例子

条件判断

  • 语法结构
    X if 条件表达式 else Y
    备注:条件表达式为True,执行X,否则执行Y
  • 例子
# 录入两个整数,比较两数的大小
num1 = int(input('输入第一个数:'))
num2 = int(input('输入第二个数:'))

max_num = num1 if num1 >= num2 else num2

print(max_num)

pass语句

pass语句:占位符,什么也不做,用到需要语句的地方。

age = int(input('输入一个年龄:'))

if age >=0 and age <=120:
    pass #作为占位符,代码逻辑占位置,使代码不会报错
else:
    pass #作为占位符,代码逻辑占位置,使代码不会报错

循环结构 (while/for)

Range()

range(start,stop,step)—>返回迭代对象
    start—开始
    stop—结束(不包含)
    step—步长
**优点:**不管range对象的整数序列有多长,所有range对象占用的内存空间都是相同的,仅需要存储star、stop和step。只有当用到range对象时,才会去计算序列中的相关元素。

in/not in 判断整数是否在range整数系列对象中。

例子:

# range()只有一个参数时,这个参数代表stop,start默认为0,步长默认为1
num1 = range(10)
print(num1) #range(0, 10)
print(list(num1)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# range()有两个参数时,第一个参数为start、第2个参数为stop、步长默认为1
num2 = range(1,10) 
print(num2) #range(1, 10)
print(list(num2)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]

# range()三个参数
num3 = range(1,10,2)
print(num3) # range(1, 10, 2)
print(list(num3)) # [1, 3, 5, 7, 9]

in/not in 判断整数是否在range整数系列对象中。

num4 = range(1,5)

print(3 in num4) # True
print(3 not in num4) # False

while循环

  • 语法结构:
    while 条件表达式:
            循环体

4步循环法: 初始化变量条件判断循环体改变变量

  • 例子
# 计算1-4的和

#1、初始变量
total = 0
num = 1

while num <=4 : # 2、条件判断
    total += num # 3、循环体
    num+=1 # 4、改变变量
print('计算1-4的结果为',total)
# 计算1-100的偶数和

total = 0
value = 1
while value <= 100:
    if value % 2 == 0:
        total += value
    value += 1

print('计算1-100的偶数和为',total)

for-in循环

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

    备注:如果循环中不需要使用自定义变量,则可将自定义变量写成【_】
# 自定义变量不使用,则可以写成_
for _ in range(4):
    print('大笑')
  • 例子
# 使用for循环计算1-100的偶数和

total = 0

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

print('1-100的偶数和为',total) # 1-100的偶数和为 2550

例子:输出100到999之间的水仙花数,举例:153 = 111+555+333,满足这个规律就是水仙花

# 输出100到999之间的水仙花数

for i in range(100,1000):
    bai = i//100
    shi = i%100//10
    ge = i%10
    # print(bai,shi,ge) #打印百位、十位、个位
    if i == bai*bai*bai + shi*shi*shi + ge*ge*ge:
        print(i)

流程控制语句-break

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

# 从键盘录入密码,最多录入3次,如果正取就结束循环

# for-in循环实现

for i in range(3):
    passwd = input('请输入密码:')
    if passwd == '9999':
        print('密码输入正确')
        break
    else:
        print('密码输入失败')

# while循环实现
num = 1

while num <= 3:
    passwd = input('请输入密码:')
    if passwd == '9999':
        print('密码输入正确')
        break
    else:
        print('密码输入失败')
    
    num += 1

流程控制语句-continue

continue语句:用于结束当前循环,进入下次循环,和if一起使用。

# 输出1到50之间5的倍数

#使用for循环
for i in range(1,51):
    if i % 5 != 0:
        continue
    print(i)

# 使用while循环
i = 1

while i <=50:
    if i % 5 != 0:
        i+=1
        continue
    print(i)

    i+=1

else语句

while和for-in循环语句也可以和else一起使用,当循环是正常结束的,则会执行else;非正常结束【被break语句结束的循环】,则不执行else语句;

# while和else一起使用

#while循环正常结束,使用else
i = 1
while i <= 50:
    if i % 5 != 0:
        i+=1
        continue
    print(i)
    i+=1
else:
    print('上面打印的数字都是5的倍数')

# while循环非正常结束,则不执行else
i = 1
while i <= 10:
    if i > 5 :
        break #非正常结束循环,else语句不执行
    print(i)
    i+=1
else:  
    print('上面输出的数字都小于5')
# for循环非正常结束,不执行else语句
for i in range(1,10):
    if i % 3 == 0:
        break
    print(i)
else:
    print('打印')

嵌套循环

嵌套循环:多次循环嵌套,分为外层循环和内存循环。在嵌套循环中,break和continue只能控制本层循环,即只能结束本层的循环。

例子:打印九九乘法表

#打印九九乘法表

# for循环打印
for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',j*i,end='\t')
    print() 

# while循环打印
i = 1
while i <= 9:

    j = 1
    while j <= i:
        print(j,'*',i,'=',j*i,end='\t')
        j+=1
    print()
    i+=1
  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值