python - 使用输入功能后如何循环索引?
问题描述
当用户第一次输入“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
解决方案
正如@aryerez 已经指出的那样,您正在循环中初始化变量'i',因此在每次迭代中它总是会重置为零。因此解决方案将保留初始化行 -i = 0
在 while 循环之前。我不明白你为什么要增加变量'a',因为它是你的输入变量。
推荐阅读
- sql - 更新表变量而不复制 T-SQL 中的数据
- c - 从数组中删除元素会导致“C”中的元素重复
- android - 如何在 Flutter 中使用 swift?
- arrays - 即使在切片和变异之后,为什么/如何保留其初始化值?
- asp.net-mvc - telegram.bot webhook 中的超时 - asp.net mvc
- php - PHP连接多个变量
- python-3.x - argparser 中的二阶嵌套子解析器
- c# - 为什么在 c# 项目中显示空窗口窗体不显示任何控件
- android - 在android上使用凌空,在哪里使用片段声明队列?
- apple-music - Apple Music API 获取日期范围之间的历史记录