1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是代碼 - 但它對(duì)問(wèn)題來(lái)說(shuō)不太重要。
代碼對(duì)問(wèn)題總是很重要!
有足夠的代碼,而且問(wèn)題相當(dāng)模糊,我將嘗試將您的代碼翻譯成 Python 的方法;-),看看您的問(wèn)題是否仍然存在:
from turtle import Screen, Turtle
from random import random, randint
def quickshape(sides, size, thickness):
turtle.width(thickness)
angle = 360 / sides
for _ in range(sides):
turtle.forward(size)
turtle.right(angle)
def correct_position():
global x, y
x = randint(-400, 400)
y = randint(-250, 250)
def move_alot():
global x, y
x += randint(-100, 100)
y += randint(-100, 100)
print("My Doodle .co can draw you lots of shapes, depending on what you ask us!")
print()
print("Before we start, do you want day or night mode?")
goes = 1
while True:
mode = input("Mode: ")
if mode[0].lower() == 'd':
print("Day mode it is.")
mode = 'day'
break
if mode[0].lower() == 'n':
print("Night mode it is.")
mode = 'night'
break
print("Hmm... which mode?")
titlename = input("Title: ")
print("Configuring - takes a couple of seconds...")
screen = Screen()
screen.tracer(False)
screen.setup(width=1.0, height=1.0)
if mode == 'day':
screen.bgcolor("white")
else:
screen.bgcolor("black")
turtle = Turtle()
turtle.hideturtle()
while True:
screen.title(titlename + " [Waiting for input - do not close]")
pattern = "[Pattern {}]".format(goes)
sides = screen.numinput(pattern, "Number of sides:", default=6, minval=3, maxval=35)
if sides is None:
break
sides = int(sides) # numinput() returns float
numshapes = screen.numinput(pattern, "Number of shapes:", default=3, minval=1, maxval=50)
if numshapes is None:
break
numshapes = int(numshapes)
size = screen.numinput(pattern, "Length of each side:", default=25, minval=5, maxval=500)
if size is None:
break
thickness = screen.numinput(pattern, "Thickness of pen:", default=1, minval=1, maxval=10)
if thickness is None:
break
x = randint(-200, 200)
y = randint(-100, 100)
for part in range(1, numshapes + 1):
turtle.penup()
percentage = round(part/numshapes * 100, 2)
screen.title(titlename + " [Drawing pattern. " + str(percentage) + "% complete.]")
turtle.color(random(), random(), random())
if randint(1, 45) == 1:
move_alot()
else:
x += randint(-10, 5)
y += randint(-5, 10)
if not (-650 < x < 650 and -500 < y < 500):
correct_position()
turtle.setposition(x, y)
turtle.pendown()
quickshape(sides, size, thickness)
screen.title(titlename + " [Finished drawing pattern " + str(goes) + "]")
screen.update()
goes += 1
screen.mainloop()
我遺漏了以下功能:
要制作一組新圖案,請(qǐng)關(guān)閉圖案頁(yè)面......但僅限于繪制時(shí)。
因?yàn)橐坏╆P(guān)閉窗口,就無(wú)法再次啟動(dòng) Python turtle。
添加回答
舉報(bào)