2014-02-10 3 views
0

Моя Черепаха МЕРТВА !!! Он не будет рисовать, используя мой цикл. nmbrOfSides перенастраивается 3 BTW. Любые намеки на то, что я могу игнорировать?Моя черепаха мертва

import turtle 
counter = 0 

def poly_side_calculation (student_number): 
    sides = 3 + student_number % 3 
    return sides ####function returns 3 when I enter student number 



print("welcome to my TURTLE demonstration.\n") 

studentNmbr = int(input("Please enter your student number to get started: ")) 
print("Here are your choices for the color of your polygon. You can choose red, green, blue, yellow, cyan, magenta, black or white.") 
fill_color = input("Please enter the color that you would like your polygon to be: ") 
poly_side_length = int(input("Please enter the length of your polygon side: ")) 

nmbrOfSides = poly_side_calculation(studentNmbr) 
vertex_angle = 360/nmbrOfSides 

turtle.color("black", fill_color) 
turtle.pensize(5) 

turtle.showturtle() 
turtle.pendown() 
turtle.begin_fill() 
turtle.setpos(-150,150) 
while counter <= nmbrOfSides: 
    turtle.forward = (poly_side_length) 
    turtle.left = vertex_angle 
    counter = counter + 1 
turtle.end_fill() 

ответ

2
turtle.forward = (poly_side_length) 
turtle.left = vertex_angle 

Это не делает то, что вы думаете, что он делает. Вам нужно вызвать функции, а не назначать им:

turtle.forward(poly_side_length) 
turtle.left(vertex_angle) 

Грубо говоря, вы говорили черепахе «вперед на 50 пикселей» вместо «Идите вперед 50 пикселей», а черепаха переосмысления своей концепции что означает «вперед», а не движение.

+0

Спасибо большое – user3291152

0

Python оценивает уравнения слева направо, но некоторые операции имеют приоритет (что-то вроде PEMDAS).

Работа вашего модуля выполняется перед суммой. Попробуйте вычислить его с скобкой:

sides = (3 + student_number) % 3 

Что для student_number=0 должен вернуть 1

+0

'(3 + student_number)% 3' точно эквивалентно' student_number% 3', и я Я уверен, что это не то, чего хотел расспрашивать. Я думаю, что порядок операций над этим работал по назначению, выбирая значения между 3 и 5. – Blckknght

Смежные вопросы