Python学习笔记_循环结构

range()函数
用于生成一个整数序列
创建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对象时,才会去计算序列中的相关元素
in与not in判断整数序列中是否存在(不存在)指定的整数

# 第一种创建方式,只有一个参数stop
r = range(10)
print(r)  # 输出:range(0, 10)
print(list(r))  # 用于查看range对象中的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 第三种创建方式,给了三个参数
r = range(1,10,2)
print(list(r))  # 输出为[1, 3, 5, 7, 9]

# 判断指定的整数是否在序列中
print(10 in r)  # False
print(9 in r)  # True
print(10 not in r)  # True

循环结构(while、for-in)
while循环
while循环判断N+1次,执行N次,最后一次判断为False,不执行循环体
四步循环法:
①初始化变量
②条件判断
③条件执行体(循环体)
④改变变量

'''计算1到100之间偶数和'''
sum_odd = 0  # 用于存储偶数和
'''初始化变量'''
a = 1
'''条件判断'''
while a <=100:
   '''条件执行体(求和)'''
   # 条件判断是否是偶数
   if a % 2 == 0:
      sum_odd += a
   a += 1
print(sum_odd)
  

for-in循环
in表达从(字符串、序列等)中依次取值,又称为遍历
for-in遍历的对象必须是可迭代对象
for-in的语法结构:

for 自定义的变量  in 可迭代对象:
    循环体

注意:循环体内不需要访问自定义变量,可以将自定义变量替代为下划线

# 循环体内需要访问自定义变量的情况
for item in 'Python':  # 第一次取出来的是P,将P赋值给item,将item的值输出
    print(item)

for i in range(10):  # range对象常用在for-in循环中,作为循环执行的次数
    print(i)

# 如果在循环体中不需要使用到自定义变量,可将自定义变量写为'_'
for _ in range(5):
    print('人生苦短,我用Python')  # 输出五行“人生苦短,我用Python”

例:使用for循环找出100到999之间的水仙花数

for item in range(100,1000):
    ones = item % 10
    tens = item // 10 % 10
    hundreds = item // 100
    print(ones, tens, hundreds)  # 验证个十百位是否取对
    # 判断是否是水仙花数,若是,则输出
    if ones ** 3 + tens ** 3 + hundreds ** 3 = item:
    print(item)

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

# 从键盘录入密码,最多录入三次,如果正确就结束循环
for _ in range(3):
    pwd = input ('请输入密码:')
    if pwd == '8888':
       print('密码正确')
       break
    else:
       print('密码不正确,请重新输入')

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

# 输出1到50之间所有5的倍数, 5,10,15,20,25...
# 要求使用continue语句
for item in range(1,51):
    if item % 5 !=0:
       continue
    print(item)

else语句,else语句可以与 if、while、for 配合使用
与 if 配合时:if 条件表达式不成立是执行else
与 while、for搭配时,没有碰到break时执行else

for _ in range(3):
    pwd = input('请输入密码:')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        print('密码不正确,请重新输入')
else:
    print('对不起,三次密码均输入错误')
    

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

# 输出一个三行四列的*阵
for i in range(3):
    for j in range(4):
        print('*', end = '\t')  # 不换行
    print()  # 一行四个*输出完成之后换行
    
# 输出一个九九乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        print(i, '*', j, '=', i*j, end = '\t')
    print()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值