簡體   English   中英

python中的輸出未達到預期

[英]Output is not getting as expected in python

與實際輸出相比沒有得到預期的輸出。 盡管此處的計數器已放置在循環外部。 在“錯誤”之后,每次都會打印標記。 我希望只在最后一次打印一次。 我已經在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

最后一行:

print "Marks:", counter

在for循環中,因此只需對其進行更正,它應該可以工作:

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

將此行移出循環范圍。

print "Marks:", counter

在for循環外編寫最后一個打印語句。 像這樣:

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

我測試了一下,它可以正常工作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM