嵌套循环不是从0开始

失落的宇航员

当有人参加比赛时,我有一个嵌套的for循环。我遇到的问题是,如果用户选择的日期不在保留的日期,我会将其推到下一个“正式”日期。我在csv文件中有一个日期列表,我读得很好。我的问题是我的嵌套循环在csv文件中不断增加其起点。

import csv, time
from datetime import date, timedelta

class RunDates():

    def __init__(self):
        self.enterDate = '4/12/14'
        self.reader = csv.DictReader(open('dates.csv', 'rb'))

    def findRunDate(self):

        # Get the row of entered date or next closest
        csvlist = enumerate(self.reader)
        for i in range(5):
            t = time.strptime(self.enterDate, '%m/%d/%y')
            newdateArr = (date(t.tm_year, t.tm_mon,t.tm_mday)+timedelta(days=i)).strftime('%m/%d/%y').split('/')
            newdateStr = '/'.join( [str(int(newdateArr[0])), str(int(newdateArr[1])), newdateArr[2]] )
            print newdateStr, i

            for num, row in csvlist:
                print row['Date'], num
                break
                if newdateStr == row['Date']:
                    print 'Row Number: ' + str(num)
                    print 'Row Date: ' + row['Date']
                    print 'new Date: ' + newdateStr
                    break
                else:
                    pass



#Testing
a = RunDates()
a.findRunDate()

中断是在第二个循环中,只是为了测试循环的开始位置。每当我运行此代码时,我都会得到以下信息:

4/12/14 0
4/29/16 0
4/13/14 1
4/28/16 1
4/14/14 2
4/27/16 2
4/15/14 3
4/26/16 3
4/16/14 4
4/25/16 4

因此,第一个循环包含5个日期,并且可以正确格式化它们。但是第二个继续增加它开始的行,我不确定为什么吗?

吓坏了

csv变量掩盖了csv模块。这是一个等待发生的未来错误。

也就是说,csv变量还是文件读取器的包装器。您无需重置它,因此它将只插入越来越多的行。

如果要在文件的开头重新启动迭代器,则可能应该将所有数据读入列表中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从0(而不是1)开始循环

来自分类Dev

Excel VBA嵌套循环再次从0开始计数

来自分类Dev

如何从不同的起始索引而不是[0]的列表开始循环?

来自分类Dev

数组从1开始而不是从0开始

来自分类Dev

指针位置不是从 0 开始

来自分类Dev

如何在while循环中不断增加“经过的时间”变量,而不是每次都从0秒开始

来自分类Dev

带轴的D3数据循环计数器(不是从0开始)

来自分类Dev

Clojure循环通过从第n个元素开始的向量而不是0

来自分类Dev

Jcanvas坐标不是从(0,0)开始

来自分类Dev

indexpath.row从1而不是0开始

来自分类Dev

如何从1而不是0开始排列键?

来自分类Dev

如何从0开始而不是从最大值开始计数?

来自分类Dev

从1开始而不是列表的0开始计算索引

来自分类Dev

使用生成器而不是嵌套循环

来自分类Dev

在Matlab中向量化而不是嵌套循环

来自分类Dev

嵌套 lapply 来修改表而不是循环

来自分类Dev

从上次迭代开始的嵌套for循环的复杂性

来自分类Dev

为什么这个嵌套循环输出从 8 和 18 开始?

来自分类Dev

Python:使用索引而不是嵌套循环的2列输出的For循环

来自分类Dev

ffmpeg filter_complex循环不是从头开始

来自分类Dev

如何让vim使用从1而不是0开始计数的相对行号

来自分类Dev

范围从-1而不是0开始的Excel VBA数组

来自分类Dev

从1而不是0开始线性缩放(D3.js)

来自分类Dev

Smarty foreach如何从数组1开始而不是0

来自分类Dev

如何从10%(而不是0)开始滚动进度条?

来自分类Dev

如何在ggplot中指示y轴不是从0开始?

来自分类Dev

为什么indexPath.row从1开始而不是0

来自分类Dev

从不是从0开始的索引的问题子集向量

来自分类Dev

如何使tmux计数窗口从1而不是0开始?

Related 相关文章

  1. 1

    从0(而不是1)开始循环

  2. 2

    Excel VBA嵌套循环再次从0开始计数

  3. 3

    如何从不同的起始索引而不是[0]的列表开始循环?

  4. 4

    数组从1开始而不是从0开始

  5. 5

    指针位置不是从 0 开始

  6. 6

    如何在while循环中不断增加“经过的时间”变量,而不是每次都从0秒开始

  7. 7

    带轴的D3数据循环计数器(不是从0开始)

  8. 8

    Clojure循环通过从第n个元素开始的向量而不是0

  9. 9

    Jcanvas坐标不是从(0,0)开始

  10. 10

    indexpath.row从1而不是0开始

  11. 11

    如何从1而不是0开始排列键?

  12. 12

    如何从0开始而不是从最大值开始计数?

  13. 13

    从1开始而不是列表的0开始计算索引

  14. 14

    使用生成器而不是嵌套循环

  15. 15

    在Matlab中向量化而不是嵌套循环

  16. 16

    嵌套 lapply 来修改表而不是循环

  17. 17

    从上次迭代开始的嵌套for循环的复杂性

  18. 18

    为什么这个嵌套循环输出从 8 和 18 开始?

  19. 19

    Python:使用索引而不是嵌套循环的2列输出的For循环

  20. 20

    ffmpeg filter_complex循环不是从头开始

  21. 21

    如何让vim使用从1而不是0开始计数的相对行号

  22. 22

    范围从-1而不是0开始的Excel VBA数组

  23. 23

    从1而不是0开始线性缩放(D3.js)

  24. 24

    Smarty foreach如何从数组1开始而不是0

  25. 25

    如何从10%(而不是0)开始滚动进度条?

  26. 26

    如何在ggplot中指示y轴不是从0开始?

  27. 27

    为什么indexPath.row从1开始而不是0

  28. 28

    从不是从0开始的索引的问题子集向量

  29. 29

    如何使tmux计数窗口从1而不是0开始?

热门标签

归档