前提・実現したいこと
会話が表示できるようにしたいです。
pythonでpythonパーフェクトマスターという本を見ながらコードをうってます.
どうしてもわかりません、、宜しくおねがいします。
発生している問題・エラーメッセージ
prototype.pyでの実行結果
Ptna System prototype :ptna Traceback (most recent call last): File "prototype.py", line 10, in <module> ptna = Ptna('ptna') File "prototype.py", ltna\ptna.py", line 7, in __init__ine 10, in <module> ptna = Ptna('ptna') File "C:\Users\momom\ptna\ptna.py", line 7, in __init__ self.responder=RandomResponder('Random') NameError: name 'RandomResponder' is not defined
該当のソースコード
ptna.py↓
ptna.py
1from responder import * 2 3class Ptna: 4 def __init__(self,name): 5 self.name = name 6 7 self.responder=RandomResponder('Random') 8 def dialogue(self,input): 9 return self.responder.response(input) 10 def get_responder_name(self): 11 return self.responder.name 12 def gat_name(self): 13 return self.name 14
prototype.py↓
from ptna import * ###################################### def prompt(obj): """ docstring """ return obj.get_name()+':'+ obj.get_responder_name()+'>' print ('Ptna System prototype :ptna') ptna = Ptna('ptna') while True: inputs = input('>') if not inputs: print('ばいばい') break response = ptna.dialogue(inputs) print (prompt(ptna),response)
↓responder,py
import random class Responder: def __init__(self,name): self.name=name def response(self,input): return'' def get_name(self): return self.name class RepeatResponder(Responder): def response(self,input): return '{}ってなに?'.format(input) class RandomResponder(Responder): def __init__(self,name): super().__init__(name) self.responses =['今日もいい天気だね','',''] def response(self, input): return (random.choice(self.responses))
試したこと
誤字の確認
pip のインストールの確認 等
補足情報(FW/ツールのバージョンなど)
python3.8
vscode