鱼C论坛

 找回密码
 立即注册
查看: 931|回复: 14

[已解决]请问如何分辨while循环跟for循环?两者分别在什么情况下使用,小白有点不能理解。

[复制链接]
发表于 2020-5-25 13:00:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
RT



最佳答案
2020-5-25 13:23:42
本帖最后由 Twilight6 于 2020-5-25 13:28 编辑
Aber 发表于 2020-5-25 13:19
听你这么讲while好像有点眉目了,但是for循环目前接触的很少,还是不太理解


假设你要把 一个列表内含有  o 的英文单词都打印出来 这时候用for 就比较方便了  因为for 可以直接遍历列表
ls = ['dog','pig','egg','cool','windows']
for i in ls:
    if 'o' in i:
        print(i)
而用while就比较麻烦些,我指的是一般人的第一感觉哈哈 ,如果有些骚套路就算了
看这代码 又要用 切片 又要判断 while 条件  又要重新初始化一个值,所以这种类似的题目应该第一时间想到用for循环
ls = ['dog','pig','egg','cool','windows']
num = 0
while num < len(ls):
    if 'o' in ls[num]:
        print(ls[num])
    num += 1
PS:举例子而已,不用太较真如果怎么怎么写更好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-25 13:01:33 | 显示全部楼层
什么东东,怎么还没回答就已解决0.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:06:36 | 显示全部楼层
for 循环主要用于遍历容器类或文件内容比较常用,还有明确循环次数,用for也比较方便

while 主要用于不明确循环次数,而要一直循环到条件不成立时候
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:06:41 | 显示全部楼层
for是遍历,while是符合条件进入循环,差别不小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 13:19:50 | 显示全部楼层
Twilight6 发表于 2020-5-25 13:06
for 循环主要用于遍历容器类或文件内容比较常用,还有明确循环次数,用for也比较方便

while 主要用于不 ...

听你这么讲while好像有点眉目了,但是for循环目前接触的很少,还是不太理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:23:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-5-25 13:28 编辑
Aber 发表于 2020-5-25 13:19
听你这么讲while好像有点眉目了,但是for循环目前接触的很少,还是不太理解


假设你要把 一个列表内含有  o 的英文单词都打印出来 这时候用for 就比较方便了  因为for 可以直接遍历列表
ls = ['dog','pig','egg','cool','windows']
for i in ls:
    if 'o' in i:
        print(i)
而用while就比较麻烦些,我指的是一般人的第一感觉哈哈 ,如果有些骚套路就算了
看这代码 又要用 切片 又要判断 while 条件  又要重新初始化一个值,所以这种类似的题目应该第一时间想到用for循环
ls = ['dog','pig','egg','cool','windows']
num = 0
while num < len(ls):
    if 'o' in ls[num]:
        print(ls[num])
    num += 1
PS:举例子而已,不用太较真如果怎么怎么写更好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:32:22 | 显示全部楼层
for循环是迭代循环,while循环是条件循环,这是二者最大的区别。

for循环能干的事,while都能干,但是某些情况下 ,for循环要比while循环简洁的多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:32:39 From FishC Mobile | 显示全部楼层
绝大多数情况下是通用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 13:47:19 | 显示全部楼层
Twilight6 发表于 2020-5-25 13:23
假设你要把 一个列表内含有  o 的英文单词都打印出来 这时候用for 就比较方便了  因为for 可以直接遍历 ...

受教了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:48:21 | 显示全部楼层

???你这不是 已解决的帖子吗?怎么还能给我设置最佳的。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 13:52:46 | 显示全部楼层
Twilight6 发表于 2020-5-25 13:48
???你这不是 已解决的帖子吗?怎么还能给我设置最佳的。。。。

没有呀、 你看到是已解决吗?

哈哈哈
快去提交BUG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:53:21 | 显示全部楼层
Aber 发表于 2020-5-25 13:52
没有呀、 你看到是已解决吗?

哈哈哈

对啊 所以我一进帖就问你 怎么没设最佳显示的确实已解决.。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 14:17:25 | 显示全部楼层
假设有一个 for 循环:
for i in [1,2,3]:
   print(i)
那么他就可以写成:
__it=[1,2,3].__iter__()

while True:
   try:
      i=__it.__next__()
   except StopIteration:
      break
   print(i)

del __it
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 14:22:01 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-25 14:17
假设有一个 for 循环:那么他就可以写成:

{:10_245:
一共10行代码
有7行里面的东西我还没见过
对我太不友好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 14:26:26 | 显示全部楼层
Aber 发表于 2020-5-25 14:22
{:10_245:
一共10行代码
有7行里面的东西我还没见过

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 01:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表