【问题标题】:Python split function and arrayPython拆分函数和数组
【发布时间】:2020-09-02 19:35:26
【问题描述】:

编写一个提取类,将您的全名作为 init 方法中的属性之一传递。 然后使用 init 方法变量和 split 函数来拆分名字和姓氏并将它们存储在数组中。

到目前为止,这是我得到的:

class Fullname:
  def __init__(self, firstname,lastname):
    self.firstname = firstname
    self.lastname = lastname

  def Fullname(self):
    return('{} {}'.format(self.firstname, self.lastname))
fullname = Fullname("Ashley", "Olsen")

print(fullname.Fullname())

我的输出是:

Ashley Olsen

我想要得到的预期输出是:

Ashley Olsen
Ashley
Olsen

有人可以帮我解决这个问题吗?

谢谢!

【问题讨论】:

  • 似乎方向与您的实现不同,即:1)类名应该是Extract(“写一个类Extract”),2)_init_应该取全名(“全名作为属性之一init"), 3) 要拆分全名的数组(“拆分名字和姓氏的拆分函数”。

标签: python arrays class split initialization


【解决方案1】:

我认为这是你需要的:

  • 编写一个类Extract
  • 将您的 full name 作为 init 方法中的属性之一传递。
  • 使用 init 方法变量和 split 函数来拆分名字和姓氏并将它们存储在数组中。

按照以上要求,实际代码应该是这样的:

In [676]: class Extract: 
     ...:   def __init__(self, fullname): 
     ...:     self.fullname = fullname 
     ...:  
     ...:   def split_fullname(self):   
     ...:     return(self.fullname.split()) 

In [678]: person = Extract("Ashley Olsen")
In [680]: person.split_fullname()
Out[680]: ['Ashley', 'Olsen']

【讨论】:

  • 谢谢!当我遵循您的代码时,我得到了 ['Ashley', 'Olsen'] 这是答案的一部分。实际上我应该得到:Ashley Olsen(#and 在新的一行 Ashley 和 #Olsen 在另一行),这就是我无法得到的。
  • 您在问题顶部发布的问题陈述与您粘贴的输出不一致。要求中是否遗漏了什么?
  • 我想是的。我将发布我现在得到的答案。但是我仍然需要在两行中获取名字和姓氏,并将所有这些存储在数组中。
【解决方案2】:

也许您想使用 \n 来分隔行。

class Fullname:
  def __init__(self, firstname,lastname):
    self.firstname = firstname
    self.lastname = lastname

  def Fullname(self):
    return('{} {}'.format(self.firstname, self.lastname) + '\n' + self.firstname + '\n' + self.lastname)

fullname = Fullname("Ashley", "Olsen")
print(fullname.Fullname())

【讨论】:

  • 感谢您的回答。我刚试过,但没有用。
【解决方案3】:

感谢大家的回答!我想出了答案。

class Extract:
     def __init__(self, fullname):
     self.fullname = fullname
     divided_name = fullname.split(" ")
     self.firstname = divided_name[0]
     self.lastname = divided_name[-1]
 person = Extract("Ashley Olsen")

 print(person.fullname)
 print(person.firstname)
 print(person.lastname)

 Output: 
 Ashley Olsen
 Ashley
 Olsen

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    相关资源
    最近更新 更多