第四天 循环结构(if和while)

第四天 循环

一、循环结构- 可以让代码重复执行,代码写一次,执行多次. for循环和while循环

1、for循环: python与java的for循环完全不一样

语法:

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

java中for循环的执行原理:

Java中for循环的语法机制以及运行原理:
for(初始化表达式;布尔表达式;更新表达式){
循环体(由java语句构成);
}
注意:
1、初始化表达式最先执行,并且在整个循环中只执行一次。
2、条件表达式结果必须是一个布尔类型,也就是true或者false。
执行原理:先执行初始化表达式,并且初始化表达式只执行一次。然后判断条件表达式的结果,如果是true,则执行循环体。
循环体结束之后,执行更新表达式。更新完之后,再判断条件表达式的结果,如果还是true,继续执行循环体。
直到更新表达式执行结束之后,再次判断条件时,条件为false,
for循环终止。
更新表达式的作用是:控制循环的次数,换句话说,更新表达式会更新某个变量的值,这样条件表达式的结果才又可能从true变成false,从而
终止for循环的执行。如果缺少更新表达式,很有可能会导致死循环。

2、range函数

1、作用:产生一个等差数列,这个差在程序中叫做步长
2、用法:
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的等差数列。 range(10,4,-1) - 10,9,8,7,6,5
for i in range(3):
#     print(i)
#     print("===================")
# for x in range(-3, 3):
#     print(x)
for i in range(5):
    print(i)
    print("执行5次")
for x in range(1, 5):
    print(x)
    print("执行4次")
for m in range(1, 5, 2):
    print(m)
    print("执行2次")
3、求和套路:

(1)定义一个变量保存最后的和,变量默认值是0;

(2)通过循环获取到要求和的数据。

(3)取到一个数就往保存和的变量中加一个数据。

sum=0
for i in range(1,101):
  sum+=i
pri(sum)

4、统计个数套路
# 统计score中小于60的个数
scores = [45, 78, 90, 45, 67, 100, 90, 98, 76, 55]
# 定义一个变量保存最后的个数,默认值是0
cnt = 0
# 通过循环获取所有的统计对象
for g in scores:
    if g < 60:
        cnt += 1
print("小于60的个数", cnt)
# 统计100(1-99)以内能被3整除的数的个数
count = 0
for f in range(1, 100):
    if f % 3 == 0:
        count += 1
print("能被3整除的数的个数", count)
# 方法二
count1 = 0
for x in range(3, 100, 3):
    count += 1
print("能被3整除的个数", count1)

3、while循环

语法:
while 条件语句:
循环体
while - 关键字:固定写法
条件语句 - 任何有结果的表达式 比如:具体的数据,已经赋值过的变量、运算表达式(赋值运算除外)
: 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(至少一条);循环体就是需要重复执行的代码
执行过程:先判断条件是否为true。如果为true就执行循环体,执行完再判断条件语句结果是否为TRUE。然后继续执行循环体
直到判断条件语句结果为FALSE,循环就结束。
极端: 一开始就是false,就不执行。 也有可能结果一直都是true,就进入死循环,从而导致后面的代码不执行。

# 打印 1,2,3,4,5
for x in range(1, 6):
    print(x)
num = 1
while num < 5:
    print(num)
    num += 1
for和while的选择
# 如果循环次数确定,就选择for。 如果循环次数不确定,就选择while
练习: 提示用户输入数据直到输入的值是0
a = 1  # a的初始值只要不是0都可以。如果不定义的话,会使得while那里报错,因为没有定义变量
while a != 0:
    a = int(input("请输入一个数"))
# 练习  完成猜数字游戏
'''
游戏开始产生一个0-100的随机数,让用户不断输入数字,直到输入的数字和产生的随机数相等为止。如果猜错给出打了或者小了
的提示
'''
import random
value = random.randint(0, 100)  # value的值就是0到100的随机数
num = int(input("请输入一个数字"))
while num != value:
    if num > value:
        print("你输入的数大了")
    else:
        print("你输入的数小了")
    num = int(input("请输入一个数字"))  # 如果没有这行代码,循环体就会以第一次输入的数据继续循环下去
print(value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值