Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помощь с кодом на питоне

Islam Sunstrike Ученик (126), на голосовании 7 месяцев назад
 from turtle import *


def fences_link():
output = input('Введи корпус: главный корпус/приемная жителей').lower
penup()
goto(-215,0)
pendown()
if output == 'приемная жителей':
color('green')
elif output == 'главный корпус':
color('blue')
for i in range(4):
left(90)
forward(50)
right(90)
forward(25)
left(90)
forward(50)
right(90)
forward(25)
right(90)
forward(50)
left(90)
forward(25)
right(90)
forward(50)
left(90)
forward(25)
exitonclick()
fences_link()
Подскажите что не так с кодом.(у меня при активации колор не работает почему то)
Голосование за лучший ответ
Беспрекословный Эксперт Мыслитель (6698) 8 месяцев назад
Вызов lower без круглых скобок: lower — это метод, и его нужно вызывать с круглыми скобками, чтобы он корректно работал. Исправьте это на lower().
exitonclick() расположен внутри цикла for, что приведет к выходу из программы после первой итерации цикла. Эту строку нужно вынести из цикла.
exitonclick() должен быть вызван для экземпляра Screen, а не просто висеть в воздухе. Если он висит вне функции fences_link, он не вызовется, потому что нижняя часть функции не выполнится из-за неправильного сравнения строк (пункт 1).
У вас несколько раз повторяется один и тот же блок команд рисования. Чтобы упростить код, можно поместить этот блок во внутренний цикл.
Вот исправленная версия вашего кода:
 from turtle import * 

def fences_link():
output = input('Введи корпус: главный корпус/приемная жителей').lower()
penup()
goto(-215, 0)
pendown()
if output == 'приемная жителей':
color('green')
elif output == 'главный корпус':
color('blue')
for i in range(4):
for j in range(2):
left(90)
forward(50)
right(90)
forward(25)
right(90)
forward(50)
left(90)
forward(25)
penup()

fences_link()
exitonclick() # Вызываем exitonclick() для экземпляра Screen
После внесения этих изменений ваш код должен корректно запросить у пользователя ввести тип здания и нарисовать забор соответствующего цвета. exitonclick() вызывается в конце, чтобы окно turtle закрылось при клике.
Islam SunstrikeУченик (126) 8 месяцев назад
Спасибо
Похожие вопросы