2016-08-18 86 views
-3
def get_formatted_name(first_name, last_name): 
    """---""" 
    full_name = first_name + ' ' + last_name 
    return full_name.title() 

while True: 
    print('\nPlease tell me your name:') 
    print("(enter 'q' at any time to quit)") 

    f_name = input('First name: ') 
    if f_name == 'q': 
      break 

    l_name = input('Last name : ') 
    if l_name == 'q': 
      break 

formatted_name = get_formatted_name(f_name, l_name) 
print("\nHello, " + formatted_name + '!') 
+0

' “” “---” “”'这是什么的?如果您希望在“您好,!”之前打印它!声明,那么你需要将它放在'print'语句中。 –

回答

0

该程序将不断询问用户的姓名,直到他为名字或姓氏输入'q'。然后,它会覆盖该名称与'q'并治疗'q'的名称,而不是先前输入的名称的一部分。

你应该将最后两行的while内:

def get_formatted_name(first_name, last_name): 
    """---""" 
    full_name = first_name + ' ' + last_name 
    return full_name.title() 

while True: 
    print('\nPlease tell me your name:') 
    print("(enter 'q' at any time to quit)") 

    f_name = input('First name: ') 
    if f_name == 'q': 
      break 

    l_name = input('Last name : ') 
    if l_name == 'q': 
      break 

    formatted_name = get_formatted_name(f_name, l_name) 
    print("\nHello, " + formatted_name + '!') 

则如预期输出:

Please tell me your name: 
(enter 'q' at any time to quit) 
First name: a 
Last name : b 

Hello, A B! 

Please tell me your name: 
(enter 'q' at any time to quit) 
First name: c 
Last name : d 

Hello, C D! 

Please tell me your name: 
(enter 'q' at any time to quit) 
First name: q 

Process finished with exit code 0