У меня есть два класса:Как печатать красиво?
class Dog(object):
def __init__(self, name):
self.name = name
class Toy(object):
def play(self):
print "Squeak!"
мне нужно придумать метод, который называется игрой (я, игрушка, п) для класса Dog. Он печатает «Yip!» (С пробелом), за которым следует выход из play.play на той же строке. Это случается n раз, причем n выходов на отдельных линиях. Если п является отрицательным, это то же самое, как если бы это было 0.
То, что я сделал это
def play(self, toy, n):
count = 1
if n > 0:
while count <= n:
print "Yip! %s " % Toy().play()
count += 1
else:
print None
Однако, когда я называю собаку («большой»). Играть (игрушки, 3) или что-то n, это показывает, что Squeak! Yip! Нет Squeak! Yip! Нет Squeak! Yip! Нет Я не знаю, что случилось. Визга! и Ип! должно быть, должно быть на той же линии, пока есть в отдельном сейчас, и там порядок должен быть противоположным. А почему нет? Может ли кто-нибудь помочь мне?
Ну, я сожалею, что я сделал, что много ошибок. Но я вроде как не понимаю вашу идею. Не могли бы вы более подробно объяснить, как мне исправить игру(). Когда я передаю t = Toy(), тогда назовите Dog ('big'). Play (t, 3), он показывает, Squeak! разделительная линия Yip! Нет Squeak! разделительная линия Yip! Нет Squeak! разделительная линия Yip! None Тем не менее, я хочу достичь, Yip! Squeak!/N Yip! Писк!/ n Yip! Писк !. – timy
@timy, так ясно, что вам нужно сначала напечатать Yip без конца строки (конечная запятая в инструкции 'print' сделает это, конечно), а затем просто вызовите' toy.play() '(который печатает остальной части линии и новой строки в конце). –