Как сделать так, чтобы черепаха не рисовала даже с поднятой ручкой?

Я использую модуль черепахи в питоне. проблема в том, что всякий раз, когда у меня есть движение черепахи, я буду рисовать, даже если ручка поднята. например, если я запускаю эту программу:

import turtle

turtle.penup
turtle.goto(0,50)

черепаха все равно будет рисовать линию, когда она переместится на (0,50), почему это так и как это можно предотвратить?


person derpyherp    schedule 24.03.2013    source источник


Ответы (7)


Похоже, вы на самом деле не вызываете turtle.penup. Попробуй это:

import turtle

turtle.penup()
turtle.goto(0,50)
person svk    schedule 24.03.2013

У вас опечатка, вы не вызываете метод penup:

import turtle

turtle.penup() #This needs to be a method call
turtle.goto(0,50)
person Ikke    schedule 24.03.2013

Этот вопрос очень старый, и на него определенно уже был дан ответ, но я оставлю это объяснение здесь для будущих людей.

«penup» — это метод в Python, он же функция в других языках. Это означает, что когда вы хотите использовать его, вы включаете в него скобки, чтобы ваш код знал, что должно происходить.

import turtle

turtle.penup()
turtle.goto(0,50)

Когда вы не включаете круглые скобки, код думает, что вы говорите о переменной, и ищет переменную с именем «penup», но переменной с таким именем нет, поэтому Python поднимает руки и падает.

person wjmccann    schedule 29.10.2017

импортная черепаха

turtle.up() turtle.goto(0,50) turtle.down()

если вы не положите ручку, она будет продолжать рисовать в невидимом состоянии.

person Naval    schedule 28.03.2017

вы вызвали penup без(). с

turtle.penup()

это сработает.

Другие здесь говорили это, но неявно. пытаясь убедиться, что это ясно, где опечатка.

person ng10    schedule 28.05.2017

Вы, вероятно, должны попробовать,

turtle.penup()
person Kirshan Murali    schedule 23.02.2020
comment
Если намерение состояло в том, чтобы сообщить, что им нужно добавить () после penup, чтобы превратить его в вызов функции, это должно быть указано в пояснении, которое идет с кодом. Это также вопрос семилетней давности с существующими ответами, которые уже охватывали этот аспект вопроса. - person Jason Aller; 23.02.2020

нет, должно быть примерно так:

turtle.up()         # This a method call
turtle.goto(0,50)   # Part of the method call
person user5390283    schedule 29.09.2015