Python 2.7如果middle_name为null打印其他东西打印其他东西
问题描述:
我正在尝试构建一个在线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)
克里斯=名称()
答
这似乎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_name
。 This syntactic feature is called a "keyword argument"。
输出:
Welcome to the program Chris Jones
Welcome to the program Chris Taylor Jones
+0
太棒了!这做了我所需要的。谢谢 – Chris
到底是什么问题? – Mureinik
如果未输入middle_name原始输入,我希望程序输出不同的东西 – Chris
如果在'__init__'方法中将'middle_name'参数默认为'None',('def def_name(first_name,last_name,middle_name = None ):')你的代码似乎在做你所描述的 – davedwards