プログラムの背景を少し。候補者の 2 枚の写真、いくつかの指示、および入力ボックスを含むグラフウィンドウを設定します。次に、ユーザーが略語を入力ボックスに入力し、候補の 1 つをクリックすると、投票数がその後入力された州と同等であることが表示されます。 . ユーザーがリストにない状態に入った場合にエラー メッセージを出力するはずの例外ハンドラーの作成に問題があります。私が問題を抱えているコードのセクションは次のとおりです。
while True:
vote = win.getMouse()
voteX = vote.getX()
voteY = vote.getY()
#Romney
if voteX >= 163 and voteX <= 237 and voteY <= 100:
enteredtext = entrybox.getText()
enteredtextu = enteredtext.upper()
for i, s in enumerate(STATE_LIST):
if enteredtextu != s:
print('Not a state')
else:
totalvotesr += STATE_VOTES[enteredtextu]
votesnumr = ('VOTES:' ,totalvotesr)
displayvotesr.setText(votesnumr)
entrybox = Entry(Point(WINDOW_WIDTH/2, WINDOW_HEIGHT/1.1), 10)
entrybox.draw(win)
if totalvotesr >= 270:
circle_winner(win, Point(WINDOW_WIDTH/4, WINDOW_HEIGHT/12))
cross_out_loser(win, Point(WINDOW_WIDTH/(4/3), WINDOW_HEIGHT/12))
STATE_LIST は、短縮された 50 州すべてのリストです。私がやろうとしたことは、enumerate を使用して、リスト内のすべての項目に対して entereredtextu をチェックし、そこにない場合は「状態ではありません」と出力することです。私が抱えている問題は、リストにない州に入ると「州ではありません」と50回出力され、リストにある州に入ると本来の投票数が表示されることですが、 「状態ではありません」と 50 回出力します