为什么在for循环中不需要先定义变量 而是直接变量in range(),但是在在while循环中需要先定义变量?

首先你要确定for和while里面的各个字段分别表示什么含义:
Python 中的循环语句有 2 种,分别是 while 循环和 for 循环

for 循环语句的执行流程如图 1 所示。
在这里插入图片描述
for 循环语句的执行流程图
图 1 for 循环语句的执行流程图
如果我们看一下正式的Python语法规范,我们可以看到(大约来说),一条while语句使用a test,而一条for语句使用exprlistand testlist。

因此,从概念上讲,我们可以理解一条while语句需要做一件事:它可以重复评估的表达式。

另一方面,一条for语句需要两个:要评估的表达式的集合,以及将这些评估的结果绑定到的多个名称。
for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值;代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循环结构联用,因此代码块又称为循环体。

考虑到这一点,有意义的是,一条while语句不会自动创建一个临时变量,因为它也可以接受文字while语句的括号里的内容表示的是判断条件,如果条件为true就进入while循环。。你的while语句 它作为条件判断只有成立,得到条件为 true ,所以会进入循环体,相反,一条for语句必须绑定到某些名称。

3.表示增量操作,每次for循环结束的时候都会执行第3部分的语句,这里可以对循环变量做一些增量操作,从而控制循环。
与for语句括号里面的第2部分一样,在每次进入while循环之前都会执行判断,

尽管里面的 i 自减了,但是下次再判断的时候,还是一个变量定义语句,条件依然成立,所以每次都会进入循环体。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值