前提・実現したいこと
isaリンクによる意味ネットワークを用いた推論を行うプログラムを作成したいです。
input文で、開世界仮説か閉世界仮説を入力することによって、
発生している問題・エラーメッセージ
プログラムを実行すると、エラーメッセージが表示されます。
構文エラーと表示されるのですが、なぜ構文エラーとなっているのか分かりません。
何か分かることがありましたら、教えて頂けますと、幸いです。
よろしくお願いします。
print("開世界仮説で推論を開始します") ^ SyntaxError: invalid syntax
Python3
# -*- coding: utf-8 -*- """ isa.pyプログラム isaリンクによる意味ネットワークを用いた推論 使い方 c:\>python isa.py """ # メイン実行部 #意味ネットワークの定義 semnet = { "携帯型端末" : "コンピュータ" , "ノートPC" : "コンピュータ" , "据え置き型PC" : "コンピュータ" , "スマホ" : "携帯型端末" , "タブレット" : "携帯型端末" , "デスクトップ" : "据え置き型PC" , "サーバ" : "据え置き型PC" , } # メイン実行部 while True : # 分類対象の入力 print("「AはBですか?」という質問を扱います。AとBを入力してください") A = input("Aを入力:") B = input("Bを入力:") # 開世界仮説か閉世界仮説かの入力 while True: C = input("開世界仮説ですか?閉世界仮説ですか?:") if(C == "開世界仮説"){ print("開世界仮説で推論を開始します") break }else if(C == "閉世界仮説"){ print("閉世界仮説で推論を開始します") break } print("質問:「",A,"は",B,"ですか?」") # 開世界仮説のとき if(C == "開世界仮説"){ # Aが意味ネットワークに含まれていないなら終了 if (A in semnet) == False : print(" 「",A,"」が分かりません") continue # isaリンクをたどってBを探す obj = A while obj != B: print(" ",obj,"は",semnet[obj],"です") if semnet[obj] == B : print("結論:",A,"は",B,"です") break if (semnet[obj] in semnet) == False : print("結論:",A,"は",B,"か分かりません") break obj = semnet[obj] print("推論終了\n") }else{ #閉世界仮説のとき # Aが意味ネットワークに含まれていないなら終了 if (A in semnet) == False : print(" 「",A,"」がありません") continue # isaリンクをたどってBを探す obj = A while obj != B: print(" ",obj,"は",semnet[obj],"です") if semnet[obj] == B : print("結論:",A,"は",B,"です") break if (semnet[obj] in semnet) == False : print("結論:",A,"は",B,"ではありません") break obj = semnet[obj] print("推論終了\n") } # isa.pyの終わり
試したこと
インテンドと構文の確認。
エラーメッセージの検索
補足情報(FW/ツールのバージョンなど)
Jupiter notebook
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/14 07:20