teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードと内容の変更

2017/12/12 03:28

投稿

gymgym
gymgym

スコア99

title CHANGED
File without changes
body CHANGED
@@ -4,18 +4,22 @@
4
4
  import pandas as pd
5
5
  import numpy as np
6
6
 
7
- def button_click():
7
+ #def button_click():
8
- show_selection()
8
+ # show_selection()
9
9
 
10
10
  def show_selection(x):
11
11
  for i in lb.curselection():
12
12
  if i == 0:
13
- a = x.sum()
13
+ one = sum(x)
14
- b = len(x) - x.sum()
14
+ zero = len(x) - sum(x)
15
- if a > b:
15
+ if one > zero:
16
16
  print("OK")
17
+ elif i == 1:
18
+ one = sum(x)
19
+ zero = len(x) - sum(x)
20
+ if one > zero:
21
+ print("BAD")
17
22
 
18
-
19
23
  if __name__ == '__main__':
20
24
  root = Tk()
21
25
  root.title('Scrollbar 1')
@@ -25,7 +29,7 @@
25
29
  frame1.grid()
26
30
 
27
31
  # Listbox
28
- currencies = (1, 2, 4, 5, 6, 7)
32
+ currencies = ("A", "B")
29
33
  v1 = StringVar(value=currencies)
30
34
  lb = Listbox(frame1, listvariable=v1,height=3)
31
35
  lb.grid(row=0, column=0)
@@ -38,19 +42,19 @@
38
42
  lb['yscrollcommand'] = scrollbar.set
39
43
  scrollbar.grid(row=0,column=1,sticky=(N,S))
40
44
 
45
+ a = [0,0,0,0,1,1,1]
46
+ b = [1,1,1,1,1,0,0]
47
+
41
48
  #Button
42
- button1 = ttk.Button(frame1, text='OK', command=button_click)
49
+ button1 = ttk.Button(frame1, text='OK', command=lambda: show_selection(a))
43
50
  button1.grid(row=1, column=0, columnspan=2)
44
51
 
45
- a = [0,0,0,0,1,1,1]
46
- b = [1,1,1,1,1,0,0]
47
-
48
52
  root.mainloop()
49
53
  ```
50
54
 
51
- 以上のコードでリストボックの中の1が選択されたときに、リストaの中の0の数が多い場合に「OK」と表示し、
52
- リストボックスの中の4が選択されたときには、リスト中の1が多い場合に「OK」と表示したいです
55
+ リストボックスのAが選れたには、リストaに対して0が多ければ「OK」と表示。
56
+ リストボックスのBが選ばれた時には、リストbに対して1の数が多ければ「OK」と表示。
53
57
 
54
- 関数 show_selection(x)でリストを引数とて渡せば良いとおもっやってみたのですが、うまくせん
58
+ 以上のように実行いと考えていま
55
59
 
56
- アドバイスをよろしくお願いします。
60
+ よろしくお願いいたします。