python循环结构总结

"""author = 陈俊龙"""

============== if-elif-else结构============

1)语法:

if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
......
else:
代码块4

2)执行过程

先判断条件语句1是否为True,如果是就执行代码块1,然后整个if结构结束,直接执行结构外后面的语句
如果条件语句1是False,就执行接下来的条件语句2,并重复之前的判断和执行过程
如果所以的条件都是False,那么就会执行else里面的代码块4,然后执行结构外的语句

练习1:给一个年龄值,判断这个是儿童(0-12),少年(13-18),青年(19-28),中年(29-50),老年(50以上)

old = 24
if old <= 12:
    print('儿童')
elif old <= 18:
    print('少年')
elif old <= 28:
    print('青年')
elif old <= 50:
    print('中年')
else:
    print('老年')

3)if嵌套

可以在if语句中再嵌套其他if语句

练习2 判断一个数是基数还是偶数,同时判断这个数能不能被4整除

判断一个数是基数还是偶数,同时判断这个数能不能被4整除,如果是基数,判断个位是否是3

num = 14
if num % 2 == 0:
    if num % 4 == 0:
        print('是偶数,并可以被4整除')
    else:
        print('是偶数,但不能被4整除')
else:
    print('基数')
    if num % 10 == 3:
        print('个位数是3')

===============for循环================

1.什么时候使用循环

需要重复执行代码中的某个操作的时候,就要有循环

2.如何使用for循环

语法:

for 变量名 in 序列:
代码块(循环体)

说明:

for, in -- 关键字,固定写法
: -- 固定写法
变量名 -- 和声明变量时的变量名要求一样
序列 -- 容器型数据对应的数据类型,常见的序列有:字符串,列表,字典,集合,元组,迭代器,生成器,range(没有数字!)
循环体 -- 和for保持一个缩进的一条或多条语句,就是会被重复执行的代码

执行过程:

让变量去序列中取值,一个一个的去,直到取完为止,每取一个值就执行一次循环体(for的循环次数,由序列中元素的个数来决定)
附 练习1

range函数:

用来产生一定范围数字序列的函数
range(n) -- 产生一个0 - n-1的数字序列(整数)例如:range(10)产生0-9的数字 附 练习2
range(m, n) -- 产生m - n-1的数字序列(m和n都必须是整数,并且n>m)附 练习3 练习4
range(m, n, step) -- 从m开始,每次加step,直到n-1为止(step可以为负数!)

 # 练习1
for x in 'hello!':
    print(x)
    print('=====')
# 练习2
for x in range(10):
    print(x)
    print('******')
# 练习3
for x in range(10, 100):
    print(x)
# 练习4
for x in range(-100, -10, 2):
    print('===', x)
# 练习5.统计1000以内能被13整除的数的个数
# 方法1
count = 0
for x in range(1, 1001):
    if x % 13 == 0:
        print(x)
        count += 1
print(count)
# 方法2
for x in range(13, 1001, -13):
    count += 1
print(count)
# 练习6,统计1000以内能被2整除但不能被5整除的数的个数
count = 0
for x in range(1001):
    if x % 2 == 0 and x % 5 != 0:
        count += 1
print(count)

# 练习7,计算1+2+3+.....+100
count = 0
for x in range(1, 101):
    count += x
print(count)
# 练习8,计算1*2*3*....10
count = 1
for x in range(1, 11):
    count *= x
print(count)

===============while循环==============

1.语法

while 条件语句:
循环体

2.说明

while -- 关键字
条件语句 -- 和if后面的条件语句要求相同(除赋值语句以外的其他语句都可以)
: -- 固定写法
循环体 -- 和while保持一个缩进的一个或多个语句,会被重复执行

3.执行过程

先判断条件语句是否为True,如果为True,就执行循环体,执行完之后再判断条件是否为True,如果为True,就执行循环体以此类推,直到判断条件语句为False,便会直接结束整个循环

练习1使用循环控制程序打印5行‘*****’

i = 0
while i < 5:
    print('******')
    i += 1

练习2计算1+2+3+4.....+100

i = 0
c = 0
while i < 101:
    c += i
    i += 1
print(c)

4.for循环和while循环的选择

循环次数确定的情况下用for循环
循环次数不确定的情况下用while(还有无线循环的情况下)

练习3 猜数字游戏:随机产生一个数字,用户不断输入数字,直到输入的数字和产生的数字相同

import random
num = random.randint(0, 10)
x = int(input('请输入你猜的数目:'))
while x != num:

    if x > num:
        print('偏大了')
    else:
        print('偏小了')
    x = int(input('请输入你猜的数目:'))

print('恭喜你!猜对了')

5.循环相关的关键字

continue关键字:

continue只能出现在循环体中,当执行循环体时遇到continue,当此循环直接结束,然后直接回到最开始的条件判断进入下一次循环的判断

for x in range(5):
    print(x)
    print('===')
    continue
    print('+++')
应用:求1 - 10 之间不是4的倍数之和
sum1 = 0
for x in range(10):
    if x % 4 == 0:
        continue
    sum1 += x
print(sum1)

break关键字:

break只能出现在循环体中,当执行循环体时遇到break,整个循环直接结束

for x in range(10):
    print(x)
    break
    print('+++')
print('=====')
应用:

while True:
当满足条件时:
break

import random
x = random.randint(0, 10)
while True:
    c = int(input('请输入一个数:'))
    if c == x:
        break
    if c > x:
        print('大了')
    else:
        print('小了')
print('恭喜你猜对了!')

else关键字:

for完整结构:
for 变量 in 序列:
循环体
else:
代码块

while 条件判断:
循环体
else:
代码块

说明:

当循环自然死亡,会执行和循环相关联的else代码块,如果循环时因为遇到break而结束的,就不会执行else里面的代码块

for x in range(5):
    break
    print(x)
else:
    print('else代码块')
print('====')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容