gpt4 book ai didi

python - 如何在 for 循环中使 turtle 向上然后向下移动?

转载 作者:行者123 更新时间:2023-11-30 22:46:23 28 4
gpt4 key购买 nike

所以我正在虚拟编程类(class)中学习 python,并且我有一个作业,我必须使用 Turtle Graphics 创建图片。我在程序中使用了 for 循环和程序员定义的函数之类的东西,但我在图片中想做的事情遇到了问题。我正在天空中绘制云彩,并尝试将云彩绘制在不同的位置。我将 x 坐标增加 40,但我试图让云在穿过时放置得更高或更低。它位于此代码列表的末尾:

import turtle

def backFill(b, c, x, y, l, h):
b.penup()
b.setpos(x, y)
b.color(c)
b.pendown()
b.begin_fill()
for side in range(2):
b.forward(l)
b.left(90)
b.forward(h)
b.left(90)
b.end_fill()

def drawCloud(c, x, y):
c.penup()
c.setpos(x, y)
c.pendown()
c.color("grey")
c.begin_fill()
for side in range(5):
c.circle(10)
c.left(80)
c.end_fill()

def main():
print("Cars")
joe = turtle.Turtle()
joe.speed(0)

backFill(joe,"green",-200,-100,400,25)
backFill(joe,"black",-200,-75,400,75)
backFill(joe,"green",-200,0,400,25)
backFill(joe,"sky blue",-200,25,400,110)

x=-192.5
for side in range(10):
backFill(joe,"yellow",x,-40,25,5)
x=x+40

x=-180
y=100
for side in range(15):
drawCloud(joe,x,y)
x=x+40
y=y-10

main()

目前,随着每一朵云的绘制,云朵慢慢下降,但我想做的是使云朵处于不同的高度,比如一朵云在 100,接下来的 90,然后回到 100,等等。我尝试了诸如 y=y-10, y+10 看看第一次重复时是否会下降 10,然后下一次会上升 10。

https://gyazo.com/3ad5268231b3217b81636cc070573b75

tl;dr/更简单的解释:我正在尝试上下移动循环图片,这样它就不仅仅是在一条直线上。如何在 for 循环中将其向下移动一次然后向上移动一次?

最佳答案

您可以检查side是偶数还是奇数来决定是否增加或减少您的云位置。就像这样:

for side in range(15):
drawCloud(joe,x,y)
x=x+40
if(side%2==0):
y=y-10
else:
y=y+10

关于python - 如何在 for 循环中使 turtle 向上然后向下移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897518/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com