【问题标题】:Python Turtle Draw Randomly Colored CirclesPython Turtle 随机绘制彩色圆圈
【发布时间】:2016-11-15 04:18:35
【问题描述】:

我想用 3 种随机颜色绘制圆圈。但是在这段代码中,用于绘制圆圈,输出是没有颜色的:

import turtle

window=turtle.Screen()
tess= turtle. Turtle()

import random

def getColor():

    color=random.randint(1,3)
    if color==1:
        color="red"
    elif color==2:
        color=="yellow"
    elif color==3:
        color=="blue"
    return color
print (random.randint(1,3))

def drawFace (x,y):

    tess.penup()
    tess.goto(x+5,y+10)
    tess.circle(10)
    tess.goto(x+15,y+10)
    tess.circle(10)
    tess.pendown()

【问题讨论】:

  • 您没有使用getColor()。至少在这段代码中没有。此外,您在两个不同的 randint() 调用中生成了两个不同的数字。

标签: python turtle-graphics


【解决方案1】:

getColor() 函数中,当color 变量为黄色或蓝色时,您没有对其进行赋值——您使用的是双等号。这是固定版本:

def getColor():
    color=random.randint(1,3)
    if color==1:
        color="red"
    elif color==2:
        color="yellow"
    elif color==3:
        color="blue"
    return color

其次,你在drawFace()开头拿起了笔,还没写完就放下了!这是修复:

def drawFace (x,y):
    tess.penup()
    tess.goto(x+5,y+10)
    tess.pendown()
    tess.circle(10)
    tess.penup()
    tess.goto(x+15,y+10)
    tess.pendown()
    tess.circle(10)

【讨论】:

    【解决方案2】:

    您不需要选择随机数来索引颜色,您可以直接使用random.choice() 随机选择一个。您需要致电GetColor() 并应用您通过tess.pencolor() 选择的颜色(隐式)在您的代码中:

    from turtle import Turtle, Screen
    import random
    
    RADIUS = 10
    
    def getColor(turtle):
        choice = turtle.pencolor()
    
        while choice == turtle.pencolor():
            choice = random.choice(["red", "green", "blue"])
    
        return choice
    
    def drawFace(turtle, x, y):
        turtle.pencolor(getColor(turtle))
        turtle.penup()
        turtle.goto(x, y - RADIUS)
        turtle.pendown()
        turtle.circle(RADIUS)
    
    tess = Turtle()
    
    drawFace(tess, 5, 0)
    
    drawFace(tess, 15, 0)
    
    screen = Screen()
    
    screen.exitonclick()
    

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 2019-01-17
      相关资源
      最近更新 更多