这是'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,但循环只运行两次。我做错了什么?
答案 0 :(得分:2)
替换
for case in testcases:
使用:
for case in range(int(testcases)):
对于前一行,循环对变量testcases中包含的字符串中的每个字符运行一次。使用后面的行,循环运行int(testcases)
次。
字符串测试用例由两个字符组成:三行和一行:'3\n'
。因此,在前一种情况下,循环运行两次,每个字符一次。
在某些语言中,如bash或tcl,字符串可以用作数字,具体取决于上下文。在python中,字符串是一个字符串,除非你转换它,例如使用int
或float
。