我想這篇日誌基地2圖:繪製使用Python烏龜圖形
if wave_type == "log":
emily.up()
emily.goto(0,1)
emily.down()
for x in range(100):
y = math.log(x)/math.log(2)
elaine.goto(x, y)
,但沒有奏效。請幫忙
我想這篇日誌基地2圖:繪製使用Python烏龜圖形
if wave_type == "log":
emily.up()
emily.goto(0,1)
emily.down()
for x in range(100):
y = math.log(x)/math.log(2)
elaine.goto(x, y)
,但沒有奏效。請幫忙
Log(0)未定義。因此,你的代碼會在for循環的第一次迭代時出錯(x將爲0)。
也許你想要範圍(1,100)?或者更好的是在1附近有更多的x值,因爲這是圖形變化最平滑的情節的地方。
這裏是一個粗略的開始 - 因爲range()
無法處理浮動,我們使用10倍的範圍,然後在使用該值時除以10。 (看看arange()
在numpy作爲一種解決方法。)我還畫出了一個較小的區域,並使用setworldcoordinates()
來強制執行該操作,所以我們可以看到圖中有趣的部分穿過X軸:
import math
from turtle import Turtle, Screen
screen = Screen()
screen.setworldcoordinates(0, -5, 10, 5)
emily = Turtle(visible=False)
emily.forward(10)
emily.penup()
for x in range(1, 100):
y = math.log(x/10)/math.log(2)
emily.goto(x/10, y)
emily.pendown()
screen.exitonclick()
您可以在Y軸填料,添加刻度標記,標籤軸,提高分辨率,等等,你認爲合適:
什麼是艾米莉和伊萊恩?當您嘗試運行該程序時會得到什麼錯誤?請閱讀https://stackoverflow.com/help/how-to-ask – blueenvelope