2016-02-12 4 views
-3

Я студент, который только что научился Python. Вот код, который я сделал до сих пор, и я становлюсь очень напряжен:Rookie Python Справка по проекту?

import turtle 
wn = turtle.Screen() 
bird = turtle.Turtle() 
bird.speed(10) 
bird.pensize(2) 
bird.color("Gold") 
bird.setpos(-50,0) 
bird.fillcolor("Gold") 

bird.begin_fill() 
for i in [0, 1, 2]:    
    bird.forward(175) 
    bird.left(120) 
bird.end_fill() 

import turtle 

turtle.color('Gold') 
turtle.goto(0,0) 
for n in range (0,100): 
    turtle.pendown() 
    turtle.left(180) 
    turtle.forward(800) 
    turtle.right(90) 
    turtle.forward(1) 
    turtle.left(270) 
    turtle.forward(800) 

Я пытаюсь управлять, чтобы нарисовать линию и засыпьте песком под пирамидой, и мне нужно использовать список как-то нарисовать солнце. Я просто очень смущен. Пожалуйста помоги?

+1

Вы получаете сообщение об ошибке? – goCards

+2

Необходимо предоставить дополнительную информацию. Неясно, в чем проблема. – RobertR

+2

Есть три вещи, которые вам нужны при диагностике технических проблем: что вы сделали (ваш код), что вы хотели, и что на самом деле произошло. Вам не хватает ингредиента № 3. – Kevin

ответ

1

Я не собираюсь отвечать на ваш вопрос ... Я дам вам краткое руководство по программированию и написанию функций, чтобы упростить вашу жизнь.

первой остановки и думать о том, какая линия ... (ее всего 2 балла)

def draw_line(p1,p2): 
    turtle.setPos(p1.x,p1.y) 
    turtle.goto(p2.x,p2.y) 

теперь подумайте о том, что треугольник является

def draw_triangle(p1,p2,p3): 
    turtle.setPos(p1.x,p1.y) 
    turtle.goto(p2.x,p2.y) 
    turtle.goto(p3.x,p3.y) 
    turtle.goto(p1.x,p1.y) # finish back at our first point 

теперь мы можем расширить на это нарисовать любую форму как только ряд точек, связанных линиями

def draw_shape(*some_points): 
    first_point = some_points.pop(0) 
    turtle.setPos(first_point.x,first_point.y) 
    for point in some_points: # visit each of the rest of the points 
     turtle.goto(point.x,point.y) 
    turtle.goto(first_point.x,first_point.y) # finally go back to our first point 

круг то же самое .. ., Но его трудно думать о том, как куче точек его легче думать о том, как центральной точке и радиус ... К счастью, мы можем вычислить точки окружности, используя простую тригонометрию

class Point: 
    def __init__(self,x,y): 
     self.x = x 
     self.y = y 

def draw_circle(centerPoint,radius): 
    points = [] 
    for deg in range(0,360): # calculate all the points of our circle 
     points.append(Point(x=centerPoint.x+cos(deg*3.14/180.0)*radius, 
          y=centerPoint.y+sin(deg*3.14/180.0)*radius)) 
    draw_shape(*points) 

грубой черепахи уже имеет метод turtle.circle(radius,extent,steps), который сделает это за вас ...

+0

Человек ... сколько времени прошло с тех пор, как я в последний раз слышал, что компьютеры здесь для _simplify_ нашей жизни? ;) –