我的任务是编写一个函数drawCircle(radius,fillColor)
,询问用户圆的特定半径以及他们想要填充圆的颜色。
我有圆绘图,但我正在努力让圆圈填充用户定义的颜色。任何帮助将不胜感激。
import turtle
def drawCircle(radius, fillColor):
x=360/300 #This gives the angle
r=radius#This is the radius of the circle.
c=fillColor
c=str("")
z=1 #Placeholder for the while loop.
win=turtle.Screen()
tom=turtle.Turtle()
fillColor=tom.color()
tom.begin_fill()
while (z<=300):
tom.forward(r)
tom.right(x)
tom.forward(r)
z=z+1
win.exitonclick()
tom.end_fill()
这是我的函数调用:drawCircle(1,"red")
答案 0 :(得分:1)
您的代码存在一些问题:
这是python。尽可能使用。而不是使用z计数:
for _ in range(300):
我的最终代码:
import turtle
def drawCircle(radius, fillColor):
x = 360/300 # This gives the angle
win = turtle.Screen()
tom = turtle.Turtle()
tom.fillcolor(fillColor)
tom.begin_fill()
for _ in range(300):
tom.forward(radius)
tom.right(x)
tom.forward(radius)
tom.end_fill()
win.exitonclick()
drawCircle(1, "red")
答案 1 :(得分:0)
我有圆圈画下来
解决个够问题之前,我&#39; D认为你的前提ISN&#39;吨真的,你的唐&#39;吨的有圆拉了下来。正如@ Mysak0CZ所示,你的半径1的圆是巨大的 - 1是什么?您正在绘制一个圆圈,但却无法真正控制它的大小。
作为一名职业海龟争吵者,我会按照以下方式解决问题。不仅您的角度需要除以您计划绘制的线段数量,而且还需要根据请求的半径计算周长并将其切断。我在下面这样做,并且包括调用乌龟自己的.circle()
方法,以表明我们处于正确的球场。我修复了你的小填充问题:
import math
from turtle import Turtle, Screen # force object-oriented turtles
SEGMENTS = 60 # how many lines make up the circle
def drawCircle(radius, fillColor):
distance = math.pi * radius * 2 / SEGMENTS # circumference / SEGMENTS
angle = 360 / SEGMENTS
turtle.fillcolor(fillColor)
turtle.begin_fill()
for _ in range(SEGMENTS):
turtle.forward(distance)
turtle.left(angle) # left for .circle() compatibility
turtle.end_fill()
screen = Screen()
turtle = Turtle()
drawCircle(100, 'red')
turtle.circle(100) # for comparison
screen.exitonclick()
答案 2 :(得分:0)
如果您正在浏览相同的 Python 学习资源,这里是我的粉红色圆圈代码。我认为原始代码缺少一个参数。
function loadCatPicture() {
var img = document.getElementById('cat-picture');
img.src = 'https://cataas.com/cat?ver=' + (new Date().getTime());
};
window.onload = function() {
loadCatPicture();
};