for whlie进入重复运算的死循环,请问怎么处理
for i in range(200,(len(nihao)-500)):while 条件1:
jia = jia + nihao['数量']
if 条件2:
jia = jia + nihao['数量']
i+=1
i+=1
假设初始的 i 的数字是200,当进入条件1后,i 的数一直在+1,但跳出whlie循环后,假设这时的 i 已经是350 。但再次进入for循环,i 不是从351开始算,而是从初始值+1,也就是201开始算。这局如何破?麻烦大神解答下。
请问如何处理? 这种就不要用 for 循环了,用 while 循环 补充下 nihao是个dataframe isdkz 发表于 2023-2-7 16:45
这种就不要用 for 循环了,用 while 循环
遍历nihao的dataframe,中间会显出很多次条件1 本帖最后由 歌者文明清理员 于 2023-2-7 17:02 编辑
i=0
while i < len(nihao) - 500: #while需要手动+1,此时可以加很多1
while 条件1:
jia = jia + nihao['数量']
if 条件2:
jia = jia + nihao['数量']
i+=1
# 根据逻辑第二个i+=1这一行要删掉,因为while条件1结束后会多一个+1
# 如果这一行删掉之后结果出错,你再发个帖把源代码和目标都写上
同意@isdkz 说的,这种要用while循环,别for,
for只会便利原列表。 skyhouse 发表于 2023-2-7 16:48
遍历nihao的dataframe,中间会显出很多次条件1
虽然不知道你为什么要这样写代码,但是你的想法不就是这样吗?
i = 200
while True:
while 条件1:
jia = jia + nihao['数量']
if 条件2:
jia = jia + nihao['数量']
i+=1
i+=1
if i >= len(nihao)-500:
break
isdkz 发表于 2023-2-7 17:00
虽然不知道你为什么要这样写代码,但是你的想法不就是这样吗?
i = 200
谢谢大佬,思路是您说的那种,但是写不出来。。。只能来求助
页:
[1]