day3 - 循环结构-4.28

day3 - 循环结构-4.28

循环:让代码只写一次却可以执行多次

循环分为:for循环和while循环

1.for循环

1)for循环

语法:

for 变量 in 序列:

​ 循环体

说明:

for、in - 关键字,固定写法
变量 - 变量名(可以是没有定义过的变量也可以是已经定义过的变量)
序列 - 容器型数据类型的数据,常见序列:字符串,列表、元组、字典、集合、迭代器、生成器、range等
: - 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句。(循环体就是需要重复执行的代码)

执行过程:

让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
(序列中元素的个数决定for循环循环次数)

for x in 'abc':
    print(x, 'hello world!')

2)range函数

产生指定范围的数字序列

  • range(N) - 产生0~ N-1的数字序列,例如:range(3) - 产生一个数字序列,里面的元素是0、1、2
for x in range(3):
    print(x, '循环体')
  • range(M,N) - 产生M~N-1的数字序列,例如:range(10,15) - 产生一个数字序列,里面的元素是10,11,12,13,14
for y in range(10, 15):
    print('y:', y)
  • range(M,N,step) - 产生[M,N)的数字序列,步长是step(每次增加step)
for z in range(1, 10, 2):
    print('z:', z)
    
for x in range(10, 2, -1):
    print('x:', x)  

练习1:打印100以内所有的偶数

for x in range(0, 100, 2):
    print(x)

练习2:统计100以内奇数的个数

count = 0
for x in range(1, 100, 2):
    count += 1
print(count)

练习3:统计100以内能被3整除的偶数的个数

# 方法一
count = 0
for x in range(0, 100):
    if x % 2 == 0 and x % 3 == 0:
        count += 1
print(count)
# 方法二
count = 0
for x in range(0, 100, 6):
    count += 1
print(count)

练习4: 计算1+2+3+…+100的和

sum_1 = 0
for x in range(1, 101):
    sum_1 += x
print(sum_1)

练习:计算100~200之间能被3整除但是不能被5整除的数的和

# 方法一
sum2 = 0
for x in range(100, 200):
    if x % 3 == 0 and x % 5 != 0:
        sum2 += x
print(sum2)
# 方法二
sum2 = 0
for x in range(102, 201, 3):
    if x % 5 != 0:
        sum2 += x
print(sum2)

2.while循环

1)while循环

语法:
while 条件语句:
循环体

说明:
while - 关键字,固定写法
条件语句 - 任何有结果的表达式(除了赋值语句)
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(需要重复执行的代码)

执行过程:
先判断条件语句是否为True,如果是就执行循环体;执行完循环体,再判断条件语句是否为True,
为True就再执行循环体…以此类推,如果条件语句的结果是False循环就结束。

num = 0
while num < 3:
    print('hello world!')
    num += 1

2)for和while的选择

循环次数确定的时候使用for循环,循环次数不确定的时候使用while循环

练习:提示用户输入密码,直到输入正确为止

方法一
pw = '123456'
input_pw = input('请输入密码:')
while input_pw != pw:
    input_pw = input('请重新输入:')  # 需要将input_pw替换掉
方法二
while input('请输入密码:') != pw:
    pass

“”"
67
请输入(0~100):50
小了,再大点儿!
请输入(0~100):80
大了,再小点儿!

请输入(0~100):67
恭喜你!猜对了!
“”"

import random
num = random.randint(0, 100)   # 产生一个0~100(含)的随机整数,并且保存在变量num中
print(num)
input_num = int(input('请输入(0~100):'))
count = 1
while input_num != num:
    # 给出提示
    if input_num < num:
        print('小了,再大点儿!')
    else:
        print('大了,再小点儿!')
    input_num = int(input('请输入(0~100):'))
    count += 1
print('恭喜你!猜对啦!')
print('输入次数:',count)

3.循环关键字

循环关键字:continue、break、else

1)continue - 结束一次循环(只能在循环体中使用)

执行循环体的时候如果遇到continue,当次循环直接结束,直接进入下一次循环

for x in range(10, 20):
    if x % 3 == 0:
        continue
    print('x:', x)

2)break - 结束整个循环(只能在循环体中使用)

执行循环体的时候遇到break,整个循环直接结束

使用while循环的套路

“”"
while True:
每次循环要做的事情
if 循环结束的条件:
break
“”"

pw = '123456'
while True:
    i_pw = input('请输入密码:')
    if i_pw == pw:
        break

3)else

“”"
for 变量 in 序列:
循环体
else:
代码段

while 条件语句:
循环体
else:
代码段

总结:
1)else的存在不影响原来循环的执行;
2)else后面的代码段在循环自然死亡的时候会执行,循环因为遇到break而结束的时候else后面的代码不会执行
“”"

for x in range(3):
    print('hello world!')
    if x == 1:
        break
else:
    print('交代遗言!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值