首页 > 解决方案 > 使用输入功能后如何循环索引?

问题描述

当用户第一次输入“apple”时,我正在编写一个程序,它将打印第 0 天和列表中的第一个元素。当用户第二次输入“apple”时,它将打印第 1 天和第二个元素。我想在 30 天内重复这些 30 次。

有人可以帮我弄这个吗 ?

谢谢

我的代码:

list_1=["a", "b", "c", "d", "e", "f", "g"]
index = 6
a = 0
i = 0
while True:
a = input("Enter:")
if a == "apple":
    if i < 31:
        index = (index + 1) % 7
        d = list_1[index]
        print( "day" ,i, d )
        start = input("Start: ")
        current = input("Current: ")
        i += 1   
        a += 1

我的输出:

   Enter:apple
   day 0 a
   Start: 2
   Current: 3

   day 1 b
   Start: 2
   Current: 3

   day 2 c
   Start: 2
   Current: 3
   ...
   ...
   ...

扩展输出:

   Enter:apple
   day 0 a
   Start: 2
   Current: 3

   Enter:apple
   day 1 b
   Start: 2
   Current: 3
   ...
   ...
   ...
   ...
   Enter:apple
   day 6 g
   Start: 2
   Current: 3

   Enter:apple
   day 7 a
   Start: 2
   Current: 3
   ...
   ...
   ...
   ...
   Enter:apple
   day 30 c
   Start: 2
   Current: 3

标签: pythonlistloops

解决方案


正如@aryerez 已经指出的那样,您正在循环中初始化变量'i',因此在每次迭代中它总是会重置为零。因此解决方案将保留初始化行 -i = 0在 while 循环之前。我不明白你为什么要增加变量'a',因为它是你的输入变量。


推荐阅读