Python读取文件并迭代它

时间:2014-02-03 06:05:49

标签: python

这是'the_guessing_game'文件:

3
2
< 100 No
> 100 No
3
< 2 Yes
> 4 Yes
= 3 No
6
< 2 Yes
> 1 Yes
= 1 Yes
= 1 Yes
> 1 Yes
= 1 Yes

这是python代码:

infile = open("the_guessing_game")
testcases = next(infile)
print "no of testcase : %s" %(testcases)
for case in testcases:
    hints = next(infile)
    print "no of hints : %s" %(hints)
    for hint in hints:
        hint = next(infile)
        print "hint : %s" %(hint)

上述代码的结果是:

no of testcase : 3

no of hints : 2

hint : < 100 No

hint : > 100 No

no of hints : 3

hint : < 2 Yes

hint : > 4 Yes

为什么不打印'no'范围内的提示。暗示'还有,'没有。 testcases'是3,但循环只运行两次。我做错了什么?

1 个答案:

答案 0 :(得分:2)

替换

for case in testcases:

使用:

for case in range(int(testcases)):

对于前一行,循环对变量testcases中包含的字符串中的每个字符运行一次。使用后面的行,循环运行int(testcases)次。

字符串测试用例由两个字符组成:三行和一行:'3\n'。因此,在前一种情况下,循环运行两次,每个字符一次。

在某些语言中,如bash或tcl,字符串可以用作数字,具体取决于上下文。在python中,字符串是一个字符串,除非你转换它,例如使用intfloat