2017-06-02 176 views
-1

我正在尝试构建一个在线MASH游戏。我如何输出:Python 2.7如果middle_name为null打印其他东西打印其他东西

打印“欢迎来到节目{} {}”格式(self.first_name,self.last_name)如果没有输入中间名,但:

打印“欢迎来到节目{ } {} {}”格式(self.first_name,self.middle_name,self.last_name)如果输入中间名:

类名称(对象):

def __init__(self, first_name='', last_name='', middle_name=''): 
    if not first_name: 
     first_name = raw_input("What is your first name: ") 
    if not last_name: 
     last_name = raw_input("What is your last name: ") 
    if not middle_name: 
     middle_name = raw_input("What is your middle name[Leave blank if not applicable]: ") 
     if middle_name == '': 
      print "No middle name here!" 
    self.first_name = first_name 
    self.last_name = last_name 
    self.middle_name = middle_name 
    self.print_name() 

def print_name(self): 
    if not middle_name: 
     print "Welcome to the program {} {}".format(self.first_name, self.last_name) 
    else: 
     print "Welcome to the program {} {} {}".format(self.first_name, 
                self.middle_name, 
                self.last_name) 

克里斯=名称()

+0

到底是什么问题? – Mureinik

+0

如果未输入middle_name原始输入,我希望程序输出不同的东西 – Chris

+0

如果在'__init__'方法中将'middle_name'参数默认为'None',('def def_name(first_name,last_name,middle_name = None ):')你的代码似乎在做你所描述的 – davedwards

回答

0

这似乎s到是您所描述的行为:

class Name (object): 

    def __init__(self, first_name, last_name, middle_name=None): 
     self.first_name = first_name 
     self.last_name = last_name 
     self.middle_name = middle_name 
     self.print_name() 

    def print_name(self): 
     if not self.middle_name: 
      print "Welcome to the program {} {}".format(self.first_name, self.last_name) 
     else: 
      print "Welcome to the program {} {} {}".format(self.first_name, self.middle_name, self.last_name) 

chris_jones = Name(first_name='Chris', last_name='Jones') 
chris_taylor_jones = Name(first_name='Chris', middle_name='Taylor', last_name='Jones') 

通知我只加了None参数你__init__()方法。 middle_name=None提供默认值,以防调用方不提供参数middle_nameThis syntactic feature is called a "keyword argument"

输出:

Welcome to the program Chris Jones 
Welcome to the program Chris Taylor Jones 
+0

太棒了!这做了我所需要的。谢谢 – Chris