質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Spyder

Spyderとは、Pythonで分析するために作られたIDEです。プログラムの編集・実行・入力補完・デバッグなどの基本的なIDE機能の他、科学用途の計算をするために要するライブラリも装備。公式・サードパーティ製のプラグインもあり、機能を拡張することもできます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

956閲覧

pityna() Take no argumentsって出てきます。 「pythonプログラミングパーフェクトマスター」から。

tabomchan

総合スコア0

Spyder

Spyderとは、Pythonで分析するために作られたIDEです。プログラムの編集・実行・入力補完・デバッグなどの基本的なIDE機能の他、科学用途の計算をするために要するライブラリも装備。公式・サードパーティ製のプラグインもあり、機能を拡張することもできます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/06/02 13:29

PYTHON

1class Pityna: 2 """ 3 classe da pityna 4 5 """ 6def __init__(self, name): 7 """pitynaオブジェクトの名前をnameに格納 8 Responderオブジェクトを生成してresponderに格納 9 10 11 parameters: 12 self(object):呼び出し元のpitynaオブジェクト 13 name(str) : pitynaオブジェクトの名前 14  """ 15 #pitynaオブジェクトの名前をインスタンス変数に代入 16 17 self.name = name 18 19 #responderオブジェクトを生成してインスタンス変数に代入 20 21 self.responder = Responder('Repeat') 22 23def dialogue(self, input): 24 """応答オブジェクトのresponse()を呼び出して応答文字列を取得する 25 26 Parameters: 27 self(object):呼び出し元のpitynaオブジェクト 28 input(str) :ユーザーによって入力された文字列 29 Returns: 30 str: 応答文字列 31 """ 32 # response()メソッドを実行し、戻り値(応答文字列)をそのまま返す 33 return self.responder.response(input) 34 35def get_responder_name(self): 36 """応答に使用されたオブジェクト名を返す 37 38 Parameters: 39 self(object): 呼び出し元のpitynaオブジェクト 40 Returns: 41 str: 応答オブジェクトの名前 42 """ 43 #responderの格納されているオブジェクト名を取得し戻り値にする 44 return self.responder.name 45 46def get_name(self): 47 """pitynaオブジェクトの名前を返す 48 49 Parameters: 50 self(object):呼び出し元のpitynaオブジェクト 51 Returns: 52 str:このクラス名前 53  """ 54 #このクラスの名前を取得し戻り値にする 55 return self.name 56 57 58class Responder: 59 """応答クラス 60 """ 61 def __init__(self, name): 62 """Responderオブジェクトの名前をnameに格納 63 64 Parameters: 65 self(object):呼び出し元のResponderオブジェクト 66 name(str) :Responderオブジェクトの名前 67 """ 68 self.name = name 69 70 def response(self, input): 71 """応答文字列を作って返す 72 73 Parameters: 74 self(object):呼び出し元のResponderオブジェクト 75 input(str) :ユーザーが入力した文字列 76 Returns: 77 str:応答メッセージ 78 """ 79 #オウム返しの返答をする 80 return '{}って何'.format(input) 81 82############################################################################### 83 #実行ブロック 84############################################################################### 85def prompt(obj): 86 """pitynaのpromptを作る関数 87 88 Parameters: 89 obj(object):呼び出し元のpitynaオブジェクト 90 Returns: 91 str: pitynaのprompt用の文字列 92  """ 93 #「'pitynaオブジェクト名:応答オブジェクト名> '」の文字列を返す 94 return obj.get_name() + ' : ' + obj.get_responder_name() + ' > ' 95 96#ここからプログラム開始 97print('Pityna System prototype : pityna') #プログラムの情報を表示 98pityna = Pityna('Pityna') #Pitynaオブジェクトを生成 99 100while True: #対話処理開始 101 inputs = input(' > ') 102 if not inputs: 103 print('bye') 104 break 105 else: 106 response = pityna.dialogue(inputs) #応答文字列を取得 107 print(prompt(pityna), response) #promptと応答文字列をつなげて表示 108 109pityna() Take no argumentsって出てきます。お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

中身見ていませんが、これがソースだとしたら、Pitynaクラスにはメソッドが何もありませんので、そのようなエラーになります。

python

1class Pityna: 2 """ 3 classe da pityna 4 5 """ 6def __init__(self, name):

以降のメソッドのインデントがすべて間違えています。足りません。
参照元も確認ください。

投稿2022/06/02 14:40

TakaiY

総合スコア12779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/06/03 23:09 編集

> 以降のメソッドのインデントがすべて間違えています。足りません。 参照元も確認ください。 質問者さん サンプルコードがダウンロードできるようなので、それと自分が書いたコードを比較したらいいと思います https://www.shuwasystem.co.jp/support/7980html/6367.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問