与实际输出相比没有得到预期的输出。 尽管这里的柜台已经放在了环路外。 这里的标记每写错一次就印一次。 我希望它只能在最后打印一次。我已经在if循环外编写了它
resp = {}
ansdb = {}
counter = 0
for i in range(1, 10):
resp_i = form.getvalue('opt_%d' %i, '0')
resp[i] = int(resp_i)
print "<br>"
for row in prsnobj.result:
ansdb[int(row[0])] = int(row[1])
print "<br>"
for i in range(1, len(resp)+1):
if resp[i] == ansdb[i]:
print "<br>Right"
counter += 1
else:
print "<br>Wrong"
print "Marks:", counter
实际输出:
Right Marks: 1
Right Marks: 2
Wrong Marks: 2
Right Marks: 3
Right Marks: 4
期望值:
Right
Right
Wrong
Right
Right
Marks: 4
将此行移出循环范围。你知道吗
在for循环外编写最后一条print语句。像这样:
最后一行:
在for循环中,所以只要更正它,它就会工作:
相关问题 更多 >
编程相关推荐