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

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

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

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

Q&A

解決済

1回答

793閲覧

フラクタル作図pythonコードのエラー解決法の募集

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

1グッド

1クリップ

投稿2020/03/11 08:23

前提・実現したいこと

フラクタルの作図のために以下のHPのサンプルプログラムを勉強中です。
ttp://souzousha.iinaa.net/www/PythonFractalSample/sec01.txt

リスト1-4のプログラムが正常に稼働することを目標にしています。

発生している問題・エラーメッセージ

python歴3か月ぐらいの新人です。 以下のコードが引数が多すぎるとエラーが発生して止まってしまいます。 リスト1-3の37行目あたりがおかしいことまではわかりましたが、 何が悪いのか?どうすれば良いのかがサッパリ掴めなくて困っています。 ご助力頂けますと大変助かります。

該当のソースコード

python 3.6 windows pycharm

【リスト1-3】以下のプログラムをtkinterTurtle.pyとして保存します。  01 from tkinter import *  02 import math  03 #  04 # ■相対描画のためのRelativeDrawクラス定義  05 #   06 # 変数名 = RelativeDraw(canvas, startX, startY,scaleX, scaleY,  07 # lineWidth,color)  08 #  09 # canvas : キャンバス  10 # startX, startY : 表示開始位置  11 # scaleX, scaleY : 表示スケール(上下または左右を逆転するとき負)  12 # lineWidth : 描画する直線の太さ  13 # color : カラーを文字列で指定(例 : 'red', '#00FFFF')  14 #  15 class RelativeDraw:  16 #■ コンストラクタ  17 def __init__(self, canvas,startX, startY,scaleX, scaleY,  18 lineWidth, color):  19 self.canvas=canvas  20 self.X0=startX; self.Y0=startY  21 self.SX=scaleX; self.SY=scaleY  22 self.lineWidth=lineWidth  23 self.color=color  24 self.goto(0,0)  25 #■ XY座標設定  26 def goto(self,x,y): self.x=x; self.y=y  29 #■ スクリーン座標への変換  30 def screenX(self, X): return self.X0 + self.SX * X  32 def screenY(self, Y): return self.Y0 + self.SY * Y  33 class TurtleGraph(RelativeDraw):  34 #■ コンストラクタ  35 def __init__(self, canvas,startX, startY,  36 scaleX, scaleY, lineWidth,color):  37 super().__init__(self,canvas,startX, startY,scaleX, scaleY,  38 lineWidth,color)  39 self.setAng(0)  40 #■ 角度設定  41 def setAng(self,th): self.th=th  42 #■ 向きの変更(右回転は負の値で指定)  43 def turn(self,th): self.th=self.th+th  44 #■ 前に進む(後退は負の値で指定)  45 def forward(self,L):  46 TH=self.th*math.pi/180  47 X=self.x+L*math.cos(TH); Y=self.y+L*math.sin(TH)  49 self.canvas.create_line(self.screenX(self.x),  50 self.screenY(self.y),  51 self.screenX(X), self.screenY(Y),  52 width = self.lineWidth, fill = self.color)  53 self.x=X; self.y=Y 【リスト1-4】tkinterTurtle.pyを使ったコッホ曲線描画  01 from tkinter import *  02 from tkinterTurtle import *  03 #■コッホ曲線のクラス定義(turtleGraph, RelativeDrawクラスからの継承)  04 class Koch(TurtleGraph):  05 def curve(self,N,L):  06 if N<=0: self.forward(L)  07 else:  08 NN=N-1; LL=L/3  09 self.curve(NN,LL)  10 self.turn(60) ; self.curve(NN,LL)  11 self.turn(-120); self.curve(NN,LL)  12 self.turn(60) ; self.curve(NN,LL)  13 #■ tkinter,Canvas共通処理  14 def initTk(Title):  15 tk=Tk(); tk.title(Title)  16 return tk  17 def initCanvas(W,H):  18 canvas=Canvas(tk,width=W,height=H)  19 canvas.pack()  20 return canvas  21 #■ メイン処理  22 tk=initTk("Koch Curve used tkinter")  23 canvas=initCanvas(600,300)  24 koch=Koch(canvas, 50, 200, 1, -1, 2, 'blue')  25 koch.curve(5,420)  26 tk.mainloop()

試したこと

リスト1-3の37行目あたりがおかしいことまではデバッグをしてわかりましたが、
何が悪いのか?どうすれば良いのかがサッパリ掴めなくて困っています。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

DrqYuto👍を押しています

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

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

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

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

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

tiitoi

2020/03/11 08:48

行番号が入っていると、コピペして実行できないので、質問に記載するコードはコピペしたら実行できる状態にしていただけませんか
coco_bauer

2020/03/11 09:08

エラーメッセージを質問に追加してください。エラーメッセージには、問題を解決するための情報が含まれていますから。
退会済みユーザー

退会済みユーザー

2020/03/12 12:13

大変失礼しました。 次回以降注意したいと思います。 注意頂きましてありがとうございます。
guest

回答1

0

ベストアンサー

継承元のコンストラクタに渡している引数の数が合ってないです。
最初の self は不要だと思います。

diff

1- super().__init__(self, canvas, startX, startY, scaleX, scaleY, lineWidth, color) 2+ super().__init__(canvas, startX, startY, scaleX, scaleY, lineWidth, color)

投稿2020/03/11 08:57

tiitoi

総合スコア21956

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

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

退会済みユーザー

退会済みユーザー

2020/03/12 12:11

回答下さりましてありがとうございます! 無事うまく動かすことができました! (こんなに早く回答が頂けるとは思ってなかったので驚きです)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問