タートルグラフィックを用いて等加速度直線運動の実験の様子をシミュレートしたいです
タートルオブジェクトを作成して形を’turtle’に変更して頭が上になるように回転させる.x座標を0として,画面の下端に移動する.
入力された値を加速度とし,ループの実行ごとに1秒の時間が経過したと考えて加速度から計算された移動距離だけ上方向に亀を移動する。
亀がスクリーンの上端に達したら運動を停止するようにしたいです。
python
1import turtle 2kame = turtle.Turtle() 3kame.shape("turtle") 4kame.shapesize(2,5,4) 5kame.left(90) 6sy = kame.getscreen().window_height() 7kame.backward(sy/2) 8a = int(input("加速度として、1-10の整数を入力してください:")) 9if type(a) != int: 10 import sys 11 print("無効な値が入力されましたので終了します") 12 sys.exit() 13kame.speed(5) 14v = 5 15y0 = kame.ycor() 16for t in range(0,100): 17 t = t + 1 18 y = v*t + 0.5 * a * t**2 19 kame.sety(y0 + y) 20 kame.dot(10,"red") 21 if kame.ycor() == sy/2: 22 break 23turtle.done()
こんな感じで書いてみたのですが、色々whileなどを使って条件を指定しても亀は画面外で動き続けてしまっています。
条件分岐の書き方が理解出来ていないのだと思います。どういったように書けば良いのかよろしければ教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。