2016-11-06 8 views
-1

このコードを使い始めるのに問題があり、私が助けてくれることを期待しています。私はSTATE_LISTと呼ばれるリストを持っています。これは米国内のすべての州の略語を含んでいます。このリストをウィンドウに印刷し、ユーザーがSTATE_LISTの略語の1つをテキストボックスに入力すると、リストはウィンドウに印刷されています。これまでの私のコード全体は、皆さんがそれを理解できるように願っています。ありがとうございました。python3のリストから要素を削除する

from proj2_support_code import * 

def verify_input(x,y): 
    for i in range (len(x)): 
     if x[i] == y.upper(): 
      return True 



def clicked_trump(x_point,y_point): 


    trump_top_left_x = WINDOW_WIDTH * .25 - 50 
    trump_top_left_y = WINDOW_HEIGHT * 0 
    width = 100 
    height = 100 
    trump_top_left = Point(trump_top_left_x, trump_top_left_y) 
    trump_bottom_right = Point(trump_top_left_x + width, trump_top_left_y + height) 


    if (trump_top_left.getX() <= x_point <= trump_bottom_right.getX() and trump_top_left.getY() <= y_point <= 
     trump_bottom_right.getY()): 
     return True 

def clicked_clinton(x_point, y_point): 

    clinton_top_left_x = WINDOW_WIDTH * .75 - 50 
    clinton_top_left_y = WINDOW_HEIGHT * 0 
    width = 100 
    height = 100 
    clinton_top_left = Point(clinton_top_left_x, clinton_top_left_y) 
    clinton_bottom_right= Point(clinton_top_left_x + width,clinton_top_left_y + height) 

    if (clinton_top_left.getX() <= x_point <= clinton_bottom_right.getX() and clinton_top_left.getY() <= y_point <= 
     clinton_bottom_right.getY()): 
     return True 


def main(): 

    win= GraphWin('Project_2',WINDOW_WIDTH, WINDOW_HEIGHT) 

    clin_in_v = 0 
    tru_in_v = 0 



    trump_img = Image(Point(WINDOW_WIDTH*.25,WINDOW_HEIGHT/6 - 50),"trump.gif") # Filenames of candidate pics 
    trump_img.draw(win) 

    clinton_img = Image(Point(WINDOW_WIDTH * .75,WINDOW_HEIGHT/6 -50),"clinton.gif") 
    clinton_img.draw(win) 

    textbox_trump = Text(Point(WINDOW_WIDTH * .245, WINDOW_HEIGHT/6 +10), "VOTES: " + str(clin_in_v)) 
    textbox_trump.draw(win) 

    textbox_clinton = Text(Point(WINDOW_WIDTH * .75, WINDOW_HEIGHT/6 +10), "VOTES: " + str(tru_in_v)) 
    textbox_clinton.draw(win) 


    inst_textbox = Text(Point(WINDOW_WIDTH * .5, WINDOW_HEIGHT - USER_INSTRUCTIONS_HEIGHT), "Enter a state abbreviation, then click a picture.") 
    inst_textbox.draw(win) 
    entrybox = Entry(Point(WINDOW_WIDTH * .5,WINDOW_HEIGHT - ENTRYBOX_HEIGHT), 10) 
    entrybox.draw(win) 

    STATE_LISTbox= Text(Point(WINDOW_WIDTH * .5, WINDOW_HEIGHT *.5),'States Remaining:' + str(STATE_LIST)) 
    STATE_LISTbox.draw(win) 

    for i in range(len(STATE_LIST)): 
     STATE_LISTB = print(STATE_LIST[i]) 

    STATE_LISTB.draw(win) 

    clin_in_v1=0 
    tru_in_v1 =0 
    for i in range(50): 
     c_point = win.getMouse() 
     x_c_point = c_point.getX() 
     y_c_point = c_point.getY() 

     if clicked_trump(x_c_point,y_c_point) == True: 
      enteredtext = entrybox.getText().upper() 
      x= verify_input(STATE_LIST,enteredtext) 
      if x == True: 
       tru_in_v1 = STATE_VOTES[enteredtext] + tru_in_v 
      else: 
       print('Incorrect State Entered:',enteredtext) 

      tru_in_v = tru_in_v1 

      textbox_trump.setText("VOTES: " + str(tru_in_v)) 




     elif clicked_clinton(x_c_point, y_c_point) == True: 
      enteredtext = entrybox.getText().upper() 
      x = verify_input(STATE_LIST,enteredtext) 
      if x == True: 
       clin_in_v1 = STATE_VOTES[enteredtext] + clin_in_v 
      else: 
       print('Incorrect State Entered:', enteredtext) 

      clin_in_v = clin_in_v1 

      textbox_clinton.setText("VOTES: " + str(clin_in_v)) 



    win.getMouse() 
    win.close() 

main() 

したがって、ユーザーは入力ボックスに州略語を入力し、大統領候補の画像をクリックします。その後、投票は候補者の合計投票数に加算されます。すべての状態の略語がリストされているグラフィックウィンドウにリストを配置する必要があります。ユーザーが入力ボックスに状態の省略形を入力して候補をクリックすると、状態リストからその省略形を削除する必要があります。

+0

コードの試行を表示し、自分のコードにどのような問題があるかを説明してください。 – idjaw

+1

投稿していないので、今までにコードがないと仮定する必要がありますか? –

+1

あなたのコードを追加するのを忘れたようです。また、「全体」コードではなく、問題を再現するために必要なコードのみを追加してください。 – mhawke

答えて

0

ユーザーから入力された1つのインデックスをリストから削除すると、次のスクリプトと考えることができると思います。

list = ["AB", "BC", "CD", "DE", "EF"] 
idx = list.index("BC") 
list.pop(idx) 
print(list) 

2行目には、入力された単語が格納されます。 3行目で、リストから単語が削除されます。

リストを傷つけたくない場合、3行目は次のようになります。

list[idx] = "" 

これはヒントですか?

関連する問題