我有一些代码可以使形状取决于输入的边数,但是我也希望它在每次迭代时自动增加pensize,而无需在控制台中输入值。在帮助我时,您可以将更改应用于我的代码,因为我真的很难将外部代码合并到我自己的代码中。这是我的代码:
import turtle
wn = turtle.Screen()
Mo = turtle.Turtle()
numsides = int(input("How many sides would you like your shape to have (3-
8)?"))
if numsides == 3:
shape_name = "triangle"
if numsides == 4:
shape_name = "square"
if numsides == 5:
shape_name = "pentagon"
if numsides == 6:
shape_name = "hexagon"
if numsides == 7:
shape_name = "heptagon"
if numsides == 8:
shape_name = "octagon"
print("That'll be a " + shape_name + ".")
howbig = int(input("What size lines would you like: "))
for myMoves in range(numsides):
Mo.forward(howbig)
Mo.left(360/numsides)
答案 0 :(得分:1)
我相信这符合您的描述-如果没有,请修改您的问题,以解释“每次迭代自动增加笔型”的含义:
from turtle import Screen, Turtle
numsides = int(input("How many sides would you like your shape to have (3 - 8)? "))
if numsides == 3:
shape_name = "triangle"
elif numsides == 4:
shape_name = "square"
elif numsides == 5:
shape_name = "pentagon"
elif numsides == 6:
shape_name = "hexagon"
elif numsides == 7:
shape_name = "heptagon"
elif numsides == 8:
shape_name = "octagon"
print("That'll be a", shape_name + ".")
howbig = int(input("What size lines would you like: "))
window = Screen()
turtle = Turtle()
for width, myMoves in enumerate(range(numsides), start=1):
turtle.width(width)
turtle.forward(howbig)
turtle.left(360 / numsides)
turtle.hideturtle()
window.mainloop()
控制台会说您希望形状有多少个侧面(3- 8)? 8(“将是一个”,“八边形”。)
对于Python 2,我们需要进行一些更改:
from turtle import Turtle, mainloop
numsides = int(raw_input("How many sides would you like your shape to have (3 - 8)? "))
if numsides == 3:
shape_name = "triangle"
elif numsides == 4:
shape_name = "square"
elif numsides == 5:
shape_name = "pentagon"
elif numsides == 6:
shape_name = "hexagon"
elif numsides == 7:
shape_name = "heptagon"
elif numsides == 8:
shape_name = "octagon"
print("That'll be a " + shape_name + ".")
howbig = int(raw_input("What size lines would you like: "))
turtle = Turtle()
width = 1
for myMoves in range(numsides):
turtle.width(width)
turtle.forward(howbig)
turtle.left(360 / numsides)
width += 1
turtle.hideturtle()
mainloop()
if ... elif ... elif ...
语句的级联应该是一个字典,但是我要假设您在学习中还没有达到这些要求。我重新排列了代码,以便在乌龟窗口模糊控制台之前完成问答。