開発環境の確認のため、初めてPythonでプログラミングしてみた。
といっても、スクラッチで作ったわけじゃなく、Rubyで作られたプログラムを移植しただけ。
以前C#に移植しようと思って、途中で挫折したやつ。
久々のCUIで、少しとまどったけど何とかできた。
移植したのは、Rubyで書かれた人工無脳のプロトタイプ。「Rubyで作る人工無脳」に掲載されているもの。
C#よりは、移植しやすいような気がする。
ソース (バグがあるかもしれないけど、一応動作している。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
class Responder(): def __init__(self, name): self.name = name def response(self, input_text): return f"{input_text}ってなに?" def name(self): return self.name class Unmo(): def __init__(self, name): self.name = name self.responder = Responder('What') def dialogue(self, input_text): return self.responder.response(input_text) def responder_name(self): return self.responder.name def name(self): return self.name def prompt(self): return self.name + ':' + self.responder_name() + '>' print('Unmo System prototype : proto') proto = Unmo('proto') while True: print('>',end=' ' ) input_text = input() input_text = input_text.rstrip() if input_text == '': break response = proto.dialogue(input_text) print(proto.prompt() + response) print('shutdown') |