Задача на Python: черепашьи гонки
Помогите дописать код
from turtle import *
from random import randint
from time import sleep
finish = 200
#разметка
def drawLines(t):
t.penup
t.color('light gray')
t.speed(100)
x = -200
y = 200
t.goto(x, y)
t.right(90)
t.pendown()
t.ht()
for i in range(20):
t.forward(400)
t.penup()
x += 20
t.goto(x, y)
t.pendown()
t.left(90)
t.ht()
#функция startRace(), размещает черепашку на линии старта и задаёт ей форму и цвет.
def startRace(t, x, y, color):
t = Turtle()
t.color(color)
t.speed(100)
t.shape('turtle')
t.penup()
t.goto(x, y)
t.pendown()
#создаём учасников гонки:
t1 = Turtle()
t2 = Turtle()
#начало гонки:
drawLines(t2)
startRace(t1, -200, -20, 'red')
startRace(t2, -200, 20, 'blue')
sleep(1)
while t1.xcor() < finish and t2.xcor() < finish:
t1.forward(randint(2,7))
t2.forward(randint(2,7))
sleep(1)
hideturtle()
exitonclick()
Ответы на вопрос
Главная ошибка в твоём коде: в функции startRace создаётся новая черепашка, но она не возвращается наружу. Поэтому t1 и t2 остаются не теми черепашками, которые стоят на старте. Ещё нужно писать t.penup(), а не t.penup.
Исправленный вариант:
from turtle import *
from random import randint
from time import sleep
finish = 200
def drawLines(t):
t.penup()
t.color('light gray')
t.speed(100)
x = -200
y = 200
t.goto(x, y)
t.right(90)
t.pendown()
t.hideturtle()
for i in range(21):
t.forward(400)
t.penup()
x += 20
t.goto(x, y)
t.pendown()
def startRace(x, y, color):
t = Turtle()
t.color(color)
t.speed(100)
t.shape('turtle')
t.penup()
t.goto(x, y)
t.pendown()
return t
lines = Turtle()
drawLines(lines)
t1 = startRace(-200, -20, 'red')
t2 = startRace(-200, 20, 'blue')
sleep(1)
while t1.xcor() < finish and t2.xcor() < finish:
t1.forward(randint(2, 7))
t2.forward(randint(2, 7))
sleep(0.1)
if t1.xcor() >= finish and t2.xcor() >= finish:
print('Ничья!')
elif t1.xcor() >= finish:
print('Победила красная черепашка!')
else:
print('Победила синяя черепашка!')
exitonclick()
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

