[英]How to set a conditional statement within a for loop in Python?
我在 python 中使用烏龜來創建簡單的形狀,這些形狀的漸變從白色開始到黑色結束,黑色是 0,0,0。 我目前設置它的方式是它會在我的嵌套循環中繼續減去超過零。 我希望我的代碼在等於或小於 0,0,0 時打印黑色。 如果有人能在不直接給我解決方案的情況下給我指點和提示,我將不勝感激。 謝謝!
a = int(input("Enter int angle:"))
q = int(input("Enter int length:"))
print("Click turtle screen to exit...")
r=1
g=1
b=1
import turtle
wn = turtle.Screen()
wn.bgcolor("white")
alex = turtle.Turtle()
alex.speed(500)
alex.pencolor("white")
for i in range (q):
alex.forward(i)
alex.left(a)
for c in range (q):
alex.pencolor(r,g,b)
r=(r-.0001)
g=(g-.0001)
b=(b-.0001)
wn.exitonclick()
在你最后的 for 循環中,你應該有
for c in range (q):
alex.pencolor(r,g,b)
if condition (color is black or less than black):
result (print black)
else:
r=(r-.0001)
g=(g-.0001)
b=(b-.0001)
如果我們在迭代次數上使顏色遞減 1,那么顏色應該在我們最后一次迭代時變為黑色:
from turtle import Screen, Turtle
screen = Screen()
angle = screen.numinput("Angle", "Enter angle: ", default=110, minval=1, maxval=359)
length = int(screen.numinput("Length", "Enter integer length: ", default=75, minval=10, maxval=200))
gray = 1.0
turtle = Turtle()
turtle.speed('fastest')
for _ in range(length):
turtle.pencolor(gray, gray, gray)
turtle.forward(length)
turtle.left(angle)
gray = gray - 1.0 / length
screen.exitonclick()
但是,如果這仍然給您帶來問題,您可以將其包裝在max()
:
gray = max(0, gray - 1.0 / length)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.