【问题标题】:question about class and function in python关于python中的类和函数的问题
【发布时间】:2021-04-28 07:06:00
【问题描述】:

创建一个名为 Count 的新类。此类接受两个参数:计数的人的姓名和计数的起始编号。然后写, player1 = Count('安娜', 5) player2 = Count('巴里', 8) 在该类中创建一个名为 start_count 的函数,这样当您编写 player1.start_count() 时,它将给出以下输出: 安娜从 5 开始数数。开始! 5……4……3……2……1……0!

我的代码如下,但我的代码看起来不太聪明:

class count:
  def __init__(self, name, number):
    self.name = name
    self.number = number

player1 = count("Anna", 5)
player2 = count("Barry", 8)
print(player1.name,player1.number)
print(player2.name,player1.number)
def start_count(start, *skip):
    return [num for num in reversed(range(start + 1)) if num not in skip]
print("Anna is starting to count from 5. ")
print("start!")
print("... ".join(map(str, count_down(5))) + "!")

我想我不应该把像 5 这样的数字放在输入位置,而是像 number() 或 input() 这样的函数,对吧?那怎么改呢?

【问题讨论】:

  • start_count() 应该作为count 类下的方法实现。此外,班级名称应以您的任务描述中的大写字母开头:Count
  • 你正在混合功能。玩家应该有一个 Counter 并且是一个独立的类,我想

标签: python function class


【解决方案1】:

我们通常在 python 中命名类时使用 Pascal Case(与变量和函数的蛇形大小写相反),所以你的类名应该是 Count。您还应该将函数放在类定义中。

class count:
   def __init__(self, name, number):
      self.name = name
      self.number = number

   def start_count(self):
      return [num for num in reversed(range(self.number + 1))]

player1 = count("Anna", 5)
player2 = count("Barry", 8)

print("Anna is starting to count from 5")
print("... ".join(map(str, player1.start_count())) + "!")

【讨论】:

  • 你是对的!正是我想把函数放在类定义中!
猜你喜欢
  • 2021-06-30
  • 2020-01-30
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 2020-12-02
  • 1970-01-01
相关资源
最近更新 更多