如果不使用我们尚未“学习”的任何东西,我很难让这项任务发挥作用......
我必须有一个全局定义的变量,例如:
x = [80, 70, 65, 60, 50, 40, 45, 40, 35, 7, 0]
给定这个全局变量,我需要用条件语句调用它的值来给出一个特定的结果。根据我们在课堂上的经历,我能想到的只有
x = [80, 70, 65, 60, 50, 40, 45, 40, 35, 7, 0]
if x >= 50:
print("Good")
else:
print("Bad")
这根本行不通……但是我必须要做的是:
for x in [80, 70, 65, 60, 50, 40, 45, 40, 35, 7, 0]:
if x >= 50:
print("Good")
else:
print("Bad")
显然,这对于赋值来说是不可接受的,因为全局变量没有按应有的方式定义。此外,分配处理海龟模块,海龟的特征将根据列表中的整数值而改变。
所以现在我已经在这里给出了一个与作业更直接相关的例子的答案。
import turtle
def drawBar(t, height):
t.begin_fill()
t.left(90)
t.forward(height)
t.write(' '+ str(height))
t.right(90)
t.forward(40)
t.right(90)
t.forward(height)
t.left(90)
t.end_fill()
if height >= 50:
t.fillcolor("blue")
elif height < 50 and height >= 30:
t.fillcolor("yellow")
else:
t.fillcolor("red")
xs = [80, 70, 65, 60, 50, 40, 45, 40, 70, 7, 0]
maxheight = max(xs)
numbars = len(xs)
border = 10
bob = turtle.Turtle()
bob.color("blue")
bob.pensize(3)
wn = turtle.Screen()
wn.bgcolor("lightgreen")
wn.setworldcoordinates(0-border,0-border,40*numbars+border,maxheight+border)
for a in xs:
drawBar(bob, a)
wn.exitonclick()
所以现在我已经到这里了,if 语句并不能准确地反映程序中每个条的高度,它似乎给出了几乎随机的颜色,但颜色总是组合在一起(它们不应该是)。我需要每个条根据其高度为某种颜色,例如高于 50 为蓝色,低于 50 但等于或超过 30 为黄色,其他一切为红色。