首页 > 解决方案 > 有没有办法在循环的每次迭代之后在 for 循环中产生“剩余迭代次数”计数?

问题描述

我有一个 for 循环,对于每次迭代,我要么移动文件,要么根据用户输入传递。有时我的文件列表很大,我想知道我还剩下多少次循环迭代。有没有办法产生这样的数字?如果我必须创建另一个循环,我在哪里嵌套它?

for file in file_list:
   answer = input(f"Move it to {folder} or pass?: ")
      if "yes" in answer:
         shutil.move(source_path, destination_path)
      if "no" in answer:
         pass

有没有办法让这个在每次用户输入后打印我在 for 循环中剩下多少个文件?

标签: pythonfor-loop

解决方案


您可以在每个循环中初始化一个长度为的变量file_list并从中减去 1 并打印它:

files_left = len(file_list)
for file in file_list:
   answer = input(f"Move it to {folder} or pass?: ")
      if "yes" in answer:
         shutil.move(source_path, destination_path)
      if "no" in answer:
         pass
   files_left -= 1
   print("{} files left".format(files_left))

推荐阅读