ここでは、Wolfram Alpha & Wikipedia & wxPython を使用したコードを少し紹介します。
import wikipedia
import wx
import wolframalpha
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None,
pos=wx.DefaultPosition, size=wx.Size(450, 100),
style=wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION |
wx.CLOSE_BOX | wx.CLIP_CHILDREN,
title="PyDA by ACORD")
panel = wx.Panel(self)
my_sizer = wx.BoxSizer(wx.VERTICAL)
lbl = wx.StaticText(panel,
label="Hello, I am PyDA, the Python Digital Assistant. How can I help?")
my_sizer.Add(lbl, 0, wx.ALL, 5)
self.txt = wx.TextCtrl(panel, style=wx.TE_PROCESS_ENTER,size=(400,300))
self.txt.SetFocus()
self.txt.Bind(wx.EVT_TEXT_ENTER, self.OnEnter)
my_sizer.Add(self.txt, 0, wx.ALL, 5)
panel.SetSizer(my_sizer)
self.Show()
def OnEnter(self, event):
input = self.txt.GetValue()
input = input.lower()
try:
#wolframalpha
app_id = "8A6LA2-ELRHR92Y88"
client = wolframalpha.client(app_id)
result = client.query(input)
answer = next(result.results).text
print(answer)
except:
#wikipedia
print(wikipedia.summary(input))
if __name__ == "__main__":
app = wx.App(True)
frame = MyFrame()
app.MainLoop()
だから私は問題を抱えています。Wolfram alpha のみをインポートすると (以下のコードを参照)、Wolfram Alpha に質問をすることができます (たとえば、「人生の意味は何ですか」または「2 + 2」などの数学の質問)。答えが返ってきます。同様に、wikipedia モジュールのみをインポートすると、wikipedia で「Tim Cahill」や「Django」などを検索でき、出力が得られます。しかし、両方のモジュールを Gui 用の wxPython モジュールと組み合わせると、ウィキペディアからしか結果を取得できません。
wolframalpha のみのコードは次のとおりです。
import wolframalpha
import wikipedia
input = input("Question: ")
app_id = "8A6LA2-ELRHR92Y88" # App ID for Wolframalpha
client = wolframalpha.Client(app_id) # calls on app id
# Output
result = client.query(input) # See line 3
answer = next(result.results).text
print(answer)
ウィキペディアのみのコードは次のとおりです。
import wikipedia
while True: # this is in a loop so it can be repeated
wikinput = input("Ok Pyda! ")
# wikipedia.set_lang("es") # changes the language of output to Espanyol (Spanish) - # not needed
print(wikipedia.summary(wikinput, sentences=2)) # For wikipedia queries. # Sentences limits how long the output will be
どんな助けでも大歓迎です