मैंने wxFormBuilder का उपयोग करके एक GUI बनाया है जिसे किसी उपयोगकर्ता को "किसी व्यवसाय के विज़िटर" के नाम दर्ज करने की अनुमति देनी चाहिए और उसके बाद दो बटनों में से एक को क्लिक करने के लिए क्लिक करें व्यापार के लिए सबसे अधिक बार और कम से कम लगातार आगंतुकों।ValueError: max() arg एक खाली अनुक्रम है
मैंने पहले के संस्करण को बनाया है, दुर्भाग्य से, मुझे सबसे कम/कम से कम लगातार आगंतुक के नाम के बजाय आगंतुकों की श्रेणी दी गई है। मैंने जीयूआई का एक स्क्रीनशॉट संलग्न किया है जिसे मैंने इस मुद्दे पर थोड़ा स्पष्टता जोड़ने में मदद के लिए बनाया है (http://imgur.com/XJnvo0U)।
एक नया कोड संस्करण पिछले संस्करण की तुलना में एक अलग tack लेता है, और मैं इसे कुछ भी फेंकने के लिए नहीं मिल सकता।
ValueError:
self.txtResults.Value = k.index (अधिकतम: अधिकतम() आर्ग एक खाली अनुक्रम
इस लाइन के संबंध में है इसके बजाय, मैं यह संदेश मिल रहा रखने के लिए (v))
import wx
import myLoopGUI
import commands
class MyLoopFrame(myLoopGUI.MyFrame1):
def __init__(self, parent):
myLoopGUI.MyFrame1.__init__(self, parent)
def clkAddData(self,parent):
if len(self.txtAddData.Value) != 0:
try:
myname = str(self.txtAddData.Value)
self.listMyData.Append(str(myname))
except:
wx.MessageBox("This has to be a name!")
else:
wx.MessageBox("This can't be empty")
def clkFindMost(self, parent):
self.listMyData = []
unique_names = set(self.listMyData)
frequencies = {}
for name in unique_names:
if frequencies.get[name]:
frequencies[name] += 1
else:
frequencies[name] = 0
v = list(frequencies.values())
k = list(frequencies.keys())
self.txtResults.Value = k.index(max(v))
def clkFindLeast(self, parent):
unique_names = set(self.listMyData)
frequencies = {}
for name in unique_names:
if frequencies.get(name):
frequencies[name] += 1
else:
frequencies[name] = 0
v = list(frequencies.values())
k = list(frequencies.keys())
self.txtResults.Value = k.index(min(v))
myApp = wx.App(False)
myFrame = MyLoopFrame(None)
myFrame.Show()
myApp.MainLoop()
जब 'LEN (v) == 0',' clkFindMost' में, 'अधिकतम (v)' को जन्म देती है 'ValueError'। स्पष्टीकरण के लिए –