Pythonで下記の様なサイコロをモチーフにしたデータ型を作り
クラス(新しいデータ型)の中にメソッド(関数)を作って「dice」という名前で保存しました
Python
1import random 2 3class Dice: 4 face_num=6 5 def shoot(v): 6 return random.randint(1,v)
インタラクティヴシェル(コマンドプロンプト)を使って
sai=dice.Dice()
sai.shoot(6)
と入力すると下記の様なエラーが出ます
Traceback (most recent call last):
File"<stdin>",line 1, in<module>
TypeError: shoot() takes exactly 1 argment (2 given)
何がいけないんでしょうか?
それとインタラクティヴシェル(コマンドプロンプト)で変数saiにデータ型を代入してメソッドを呼び出すときメソッドの引数に下記の様なデータ属性の変数を代入しても同じようなエラーが出るんですが何が駄目なんでしょうか?
sai=dice.Dice()
sai.shoot(sai.face_num)
本にはselfを使ったらいいよと書いてありましたが
逆にselfを使わなかったらどうやってやるのかと気になったので
上記の様なものを試してみたのですが何度試してもうまくいきませんでした
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/16 07:02
2018/01/16 07:15
2018/01/16 07:25