0

最もアクティブな顧客と最もアクティブでない顧客を計算するための GUI を設計するように依頼されました。下部には、最もアクティブな顧客と最もアクティブでない顧客を計算する 2 つのボタンがあります。2 つのボタンを押した結果を表示する結果領域もあります。

リスト ボックスと、その下に 2 つのボタンがあります。リストボックスに名前が表示されます。たとえば、textCtrl の最初に「sam」と入力し、[顧客の追加] ボタンをクリックします。Sam がリスト ボックスに表示されます。異なる名前または同じ名前を数回入力した後。名前付きのリストはリスト ボックスです。たとえば、リスト ボックスには 3 つの「sam」と 2 つの「justin」があります。「最もアクティブなボタン」をクリックすると、名前 sam が結果ボックスに表示されます。最もアクティブでないボタンをクリックすると、名前 justin が結果ボックスに表示されます。

顧客追加ボタンの定義には成功しましたが、最もアクティブな顧客と最もアクティブでない顧客を計算するボタンを定義する方法がわかりません。カウント関数を使用する必要があると誰かに言われましたが、その方法がわかりません。

これが私がこれまでに得たものです:

def addcustomer(self,event):
    try:
        name=str(self.m_textCtrl1.Value)
        self.m_listBox1.Append(str(name))
    except:
        wx.MessageBox("This can't be empty.")

def mostactive(self,parent):

誰かが次のステップで私を助けることができますか? ありがとうございました!PS 結果ボックスの名前は m_textCtrl2 です リスト ボックスの名前は m_listbox1 です

4

2 に答える 2

0

次のようにコードを変更できますか:

customer = {}

def addcustomer(self,event):
    try:
        name=str(self.m_textCtrl1.Value)
        self.m_listBox1.Append(str(name))
        if name in customer:
            customer[name] += 1
        else:
            customer[name] = 1
    except:
        wx.MessageBox("This can't be empty.")

最終的な顧客辞書は = {'sam' : 3, 'justin' : 2} になり、次を使用します

max(customer, key=customer.get) min(customer, key=customer.get)

最もアクティブで最も少ない顧客を獲得します。

于 2014-10-05T02:58:30.153 に答える