day4-循环

一:for循环

循环结构 - 可以让代码重复执行(代码写一遍,执行多次)

print('hello world')
1.for循环

语法:
for 变量 in 序列:
循环体

说明:
for、in - 关键字;固定写法
变量 - 变量名(可以是已经定义过的变量名,也可以是没有定义的变量名
序列 - 序列就是Python中容器型数据类型对应的数据;例如:字符串、列表、字典、元祖、集合、迭代器、生成器、range等
- 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句(至少一条件);循环体就是会被重复执行的代码
执行过程:
1).让变量去序列中取值,一个一个取,取完为止,每取一个值就执行一次循环体。
2).for循环循环次数和序列中元素的个数有关

for x in 'abc':
    print(x,'你好')


for y in '123456':
    print(y,'happy')
    print('8888')
print(666)

#思考:循环体执行100遍
for x in range(100):
    print('hello')

二:range函数

range函数 - 产生一个等差数列

1)range(N) - 产生【0,N),差是1的等差数列(N必须是正整数)。range(3)-0,1,2:range(11)-0,1,2,3,4,5,6,7,8,9,10
2)range(M,N)-产生【M,N),差是1的等差数列(M<N)。range(2,6)- 2,3,4,5
3)range(M,N,step)-产生[M,N),差是step的等差数列range(10, 4, -1) - 10, 9, 8, 7, 6, 5
for x in range(3,10):     #3,4,5,6,7,8,9
    print(x)
print('-----------我是分割线-----------------')
for x in range(-2,8):     #-2,-1,0,1,2,3,4,5,6,7
    print(x)
print('-----------我是分割线-----------------')
for x in range(-1,6,2):    #-1,1,3,5
    print(x)
print('-----------我是分割线-----------------')

2.求和套路

#练习:求1+2+3+...100的和
#1)定义一个变量保存最后的和,变量默认值是0
sum1=0
#2)通过循环获取到要求和的数据
for x in range(1,101):
#3)取到一个数据就往保存和的变量中加一个数据
    sum1+=x #sum1=sum1+x
print('和',sum1)

3.统计个数的套路

#练习:统计scores中不及格学生的个数
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76]

num1=0
for x in scores:
    if x<60:
        num1+=1
print('不及格人数',num1)		#不及格人数2

#练习:统计100以内能被3整除的人数
#方法1:
count=0
for x in range(1,100):
    if x%3==0:
        count+=1
print('个数',count)		#个数33

#方法2
count=0
for x in range(3,100,3):
    count+=1
print('个数',count)		#个数33

#练习:计算2*4*6*8*...*20的结果
num1=1
for x in range(2,21,2):
    num1*=x
print('结果',num1)			#结果3715891200

# 练习:计算100以内所有能被3整除但是不能被5整除的数的和
#方法一
num1=0
for x in range(1,100):
    if x%3==0 and x%5!=0:
        num1+=x
print('和',num1)		#和1368

#方法二
total=0
for x in range(3,100,3):
    if x%5!=0:
        total+=x
print('和'total)		#和1368

三、while循环

1.while循环

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

说明:
while - 关键字:固定写法
条件语句 - 任何有结果的表达式,比如具体的数据、已经赋值过的变量、运算表达式(赋值运算除外)
- 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(至少一条);循环体就是需要重复执行的代码
执行过程:
先判断条件语句是否为True,如果为True就执行循环体,执行完再判断条件语句是否为True,为True又执行循环体…
依次类推,如果判断条件语句结果是False循环结束

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

for x in range(1, 6):
    print(x)


num = 1
while num < 6:
    print(num)
    num += 1

控制循环执行100遍

num = 0
while num < 100:
    print('hello')
    num += 1

2.for和while的选择

如果循环次数确定就使用for循环:循环次数不确定就使用while循环。

练习:提示用户输入数据,直到输入的值为0为止
'''
请输入一个数:19
请输入一个数:20
请输入一个数:8
...
请输入一个数:0
结束!
'''
value='1'    #value的初始值只要不是'0'都可以
 while value!='0':
   value=input('请输入一个数')

 练习:完成猜数字游戏

游戏开始产生一个0~100的随机数,让用户不断输入数字,直到输入的数字和产生的随机相等为止。如果猜错了给出大了或者小了的提示。

45
请输入数字(0~100):50
大了!
请输入数字(0~100):25
小了
请输入数字(0~100):30
小了
请输入数字(0~100):45
恭喜你,猜对了!
"""
import random
# random.randint(a, b)  - 产生a到b的随机数
value = random.randint(0, 5)    # value的值就是0~100的随机数
num1=int(input('请输入一个数'))
while num1!=value:
    if num1>value:
        print('大了')
    else:
        print('小了')
    num1=int(input('请输入一个数'))
print('恭喜你,猜对了')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值