day 4

day 4

循环结构 —— 可以让代码重复执行
1.for循环
语法:

for 变量 in 序列:
循环体

说明:

for、 in —— 关键字、固定写法
变量 —— 变量名(可以是已经定义的,也可以是没有定义的) 最好没有定义
序列 —— 就是python中容器型数据类型对应的数据;例如:字符串、列表、字典、元组
集合,迭代器、生成器、range
: —— 固定写法
循环体 —— 和for保持一个缩进的一条或者多条语句(至少一条);循环体就是会被重复执行的代码

执行过程:

让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
for循环循环次数和序列中元素个数有关

2. range函数 —— 产生一个等差数列
用法

1)range(N) ——产生[0,N),差是1的等差数列(N必须是正整数);range(3):0,1,2,

2)range(M,N) ——产生[M,N),差是1的等差数列(M<N)。

3)range(M,N,step)—— 产生[M,N),差是step的等差数列(M<N)

for x in range(3):
    print(x)  # 0,1,2
print('=============')
for x in range(-2, 7):
    print(x)  # -2,-1,0,1,2,3,4,5,6,
print('=============')
for x in range(2, 6):
    print(x)
print('=============')
for x in range(10, 4, -1):
    print(x)  # 10,9,8,7,6,,5,
print('=============')

# 练习:
for x in range(100):
    print(x, end=',')
print('==========')

for x in range(0, 9):
    print(x)
2.1.求和套路

1)练习求1+2+3+…+100的和
a.先定义一个变量保存最后的和,变量的默认值是0
b.通过循环获取到要求和的数据

sum = 0
for x in range(1, 101):
    # 3)取到一个数据就往保存和的变量中加一个数据
    sum += x
print('和:', sum)

2)练习:[45,78,90,45,67,100,90,98,76]

scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
s = 0
for x in scores:
    s += x
print('总分:', s)
2.2.统计个数的套路

1)练习统计不及格学生的个数

scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]
ge = 0
for x in scores:
    if x < 60:
        ge += 1
print('不及格人数:', ge)

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

count = 0
for x in range(1, 100):
    if x % 3 == 0:
        count += 1
print('个数::', count)
# 优化
count = 0
for x in range(3, 100, 3):
    count += 1
print('个数::', count)

3)练习:计算248…*20
注意:乘法要注意不能为0 哦

count = 1 
for x in range(2, 21, 2):
    count *= x
print('和为:', count)  # 和为: 3715891200

4)练习;计算100以内所有能被3整除但是不能被5整除的数的和

sum1 = 0
for x in range(1, 100):
    if x % 3 == 0 and x % 5 != 0:
        sum1 += x
print('和为:', sum1)  # 和为: 1368

#  方法二:
count = 0
for x in range(3, 100, 3):
    if x % 5 != 0:
        count += x
print(count)
3.1.while循环
语法:和if一样

while 条件语句:
循环体

说明:

while —— 关键字;固定写法;
条件语句 —— 任何有结果的表达式,比如;具体的数据、已经赋值过的变量、运算表达式(赋值运算除外0)
: —— 固定写法
循环体 —— 和while保持一个缩进的一条或者多条语句(至少一条);需要重复执行的代码

执行过程:

当… 的时候就…
先判断条件语句是否为True,如果为True 就执行循环体,执行完再判断条件语句是否为True,为True又执行循环体
依次内推:如果判断结果为False就循环结束

1)练习: 打印1,2,3,4,5

x = 1
while x <= 5:
    print(x)
    x += 1

2)控制循环100次

num = 0
while num < 100:
    print('hello')
    num += 1
3.2.for和while的选择
结论:如果循环次数确定就使用for循环; 如果循环次数不确定就用while循环。

1)练习:提示用户输入数据,直到输入的数据为0为止

 x=2
 while x!=0:
     x=int (input('请输入一个数:'))

2)练习:完成猜数字的游戏

规则:游戏开始随机产生一个0-100的随机数
用户输入猜的数字,直到输入的数字和产生的随机数相等为止,如果错了给出大了或者小了提示
中了:结束
没有中:继续

import random

value = random.randint(0, 100)
x = int(input('输入一个数0~100:'))
while x != value:
    if x > value:
        print('大了')
        x = int(input('输入一个数0~100:'))
    if x < value:
        print('小了')
        x = int(input('输入一个数0~100:'))
print('恭喜你!猜对了!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值