gpt4 book ai didi

python - 怎样打印才好看?

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:34 25 4
gpt4 key购买 nike

我有两门课:

class Dog(object):
def __init__(self, name):
self.name = name
class Toy(object):
def play(self):
print "Squeak!"

我需要为 Dog 类想出一个名为 play(self, toy, n) 的方法。它在同一行上打印“Yip!”(带有空格),然后是 toy.play 的输出。这种情况发生 n 次,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

但是,当我调用 Dog('big').play(toy, 3) 或任何 n 时,它表明吱!是啊!没有任何吱!是啊!没有任何吱!是啊!没有任何我不知道出了什么问题。尖叫!和叶!应该假设在同一行,而现在是分开的,并且顺序应该相反。为什么会有一个“无”?谁能帮帮我吗?

最佳答案

在您的示例调用 Dog('big').play(0) 中,您没有传递 toy 参数 --这就是它所提示的!在 n 之前传递一个玩具参数,这样会更好。

然后您可以开始解决 play 实现中的错误:为什么要制作一个新玩具而不是使用参数,为什么在以下情况下打印 'None'这不是规范的一部分,你如何无用地打印 Toy.play 方法的返回值(隐式返回 None),而不是按照事实工作后一种方法是打印某些东西,并且从不增加count,因此最终陷入无限循环。(我相信,八行中的四个严重错误加上调用中的一个必须是某种记录;-)。

顺便说一句,家庭作业通常标记为homework,而不是exercise。 (而且,你的 Q 标题中还有一个错误,因为实际上没有 classmethod ,只是一个很好的旧的普通且完全正常的实例方法)。

关于python - 怎样打印才好看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com