【问题标题】:Ask users for input data and run after they input "done"询问用户输入数据并在他们输入“完成”后运行
【发布时间】:2018-08-31 12:18:56
【问题描述】:

我想编写一个代码/程序来询问用户他们的输入文件名(有些用户有超过 10 个输入文件),然后一旦他们按下“完成”,程序就会执行所有文件。

例如,用户有 3 个文件。

1) 他们输入了 3 个文件名
2) 他们按“完成”
3)程序运行3个文件(我已经编写了我的程序,所以我不需要这个,但它应该类似于将3个文件保存在列表[file1,file2,file]中,因为我的程序可以使用列表中的x,然后执行加载每个文件)

如果可能的话,最好能够计算他们输入了多少文件。

我的代码如下:

a = 0 
a = input("Please enter your filenames without the '.txt' and press 'Done' to run " )
a += 1
print("---------- File {} ----------".format(a))

有没有简单的方法来做到这一点?我尝试使用 for 循环,但仅询问用户输入将是非常长的代码。提前致谢

【问题讨论】:

  • 你在哪里尝试循环?它会比复制这个 10 次更短

标签: python input


【解决方案1】:

累积输入列表,然后在完成后中断循环。

names = []
while True:
    a = input("file name or 'Done'")
    if a == "Done":
        break
    else:
        names.append(a)
# user typed done
print("entered {} names".format(len(names)))
for n in names:
   print('{}.txt'.format(n))

【讨论】:

  • 非常感谢,先生。我会参考这个。
猜你喜欢
  • 1970-01-01
  • 2020-05-11
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多