【发布时间】:2019-03-31 14:37:40
【问题描述】:
我有一个 if-else 语句,用于确定海龟的笔颜色和线宽。当我运行我的程序时,它会绘制适当的点,但只用最小线宽将它们绘制为“白色”。在“风速”列表中,有许多值超过了我的 if-else 语句中的最低标准 74。是什么导致 if 语句没有将值传递给正确的语句?
t.penup()
t.setpos(longitudes[0], latitudes[0])
t.pendown()
i = 0
while i < len(latitudes):
t.setpos(longitudes[i], latitudes[i])
for index in windspeeds:
if index < 74:
t.pencolor("white")
t.width(2)
elif 74 <= index <= 95:
t.pencolor("blue")
t.width(4)
elif 96 <= index <= 110:
t.pencolor("green")
t.width(6)
elif 111 <= index <= 129:
t.pencolor("yellow")
t.width(8)
elif 130 <= index <= 156:
t.pencolor("#FFA500")
t.width(10)
elif 157 <= index:
t.pencolor("red")
t.width(12)
i += 1
【问题讨论】:
-
请为
windspeed、latitude、longitude添加演示数据 - 为什么索引而不是speed作为风速的运行变量?另外-为什么要为elif的下限...如果它if已经匹配了-所以下一个只需要elif index <= 95:..等 -
设置海龟的颜色和宽度后,您问题中的代码不会移动它并绘制任何东西......它只是再次循环并将它们更改为其他东西而不使用它们。
-
谢谢,我明白了,也感谢代码冗余检查@Patrick Artner
标签: python if-statement turtle-graphics