描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    完成程序模板中的函数定义和调用部分(务必注意代码缩进),使程序实现如下效果:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    在第一行输入一个指令‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

    1. 若输入指令为1,则调用函数print_hi_human(),输出“人类,你好!”‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    2. 若输入指令为2,则调用函数say_hi_human(),并输出其返回值“人类,你好!”‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    3. 若输入指令为3,则再输入一个人名,并调用函数say_hi_person(),并输出其返回值为“,你好!”(其中为输入的人名)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    4. 若输入指令为4,则分两行依次输入人名和性别(男或女),并调用函数say_hi_gender(),并输出其返回值。函数的返回值为“尊敬的*先生/女士,欢迎来到火星!”。根据性别确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”,返回值为替换了姓名与称谓的欢迎字符串 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    5. 若输入指令为5,则在一行内输入人名和性别(男或女,性别可省略),以空格间隔,并调用函数say_hi_default(),并输出其返回值。函数的返回值为“尊敬的*先生/女士,欢迎来到火星!”。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬根据性别值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”。当函数调用时未给出性别时,默认按男性处理。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬返回值为替换了姓名与称谓的欢迎字符串‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    6. 若输入指令为6,则在一行内输入多个人名,以空格间隔,并调用函数say_hi_multi_parameter(),分多行对每个人名输出“*,你好!”‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    7. 若输入指令不是上面任一值,则直接输出“再见!”‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

    示例 1‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    1
    输出:人类,你好!
    示例2‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    2
    输出:人类,你好!
    示例3‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    3
    李白
    输出:李白,你好!
    示例4‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    4
    李白

    输出: 尊敬的李白先生,欢迎来到火星!
    示例5‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    4
    李清照

    输出: 尊敬的李清照女士,欢迎来到火星!
    示例6‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    4
    李白
    杜甫
    输出: 尊敬的李白先生/女士,欢迎来到火星!
    示例7‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    5
    李白 男
    输出: 尊敬的李白先生,欢迎来到火星!
    示例8‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    5
    李清照 女
    输出: 尊敬的李清照女士,欢迎来到火星!
    示例9‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    5
    李白 杜甫
    输出: 尊敬的李白先生/女士,欢迎来到火星!
    示例10‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    5
    李白
    输出: 尊敬的李白先生,欢迎来到火星!
    示例11‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    6 李白 杜甫 柳宗元 李商隐 李清照
    输出:
    李白,你好!
    杜甫,你好!
    柳宗元,你好!
    李商隐,你好!
    李清照,你好!
    示例12‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
    输入:
    100
    输出:
    再见

    1. # ------------ ------- -------- ----------- -----------
    2. # @File : 5.4.1 来自计算机的问候实验模板.py
    3. # @Contact : vasp@qq.com
    4. # @Copyright : 2018-2025, Wuhan University of Technology
    5. # @Modify Time: 2021/4/27 8:41
    6. # @Author : 赵广辉
    7. # @Version : 1.0
    8. # @License : 仅限用于Python程序设计基础实践教程(赵广辉,高等教育出版社)配套实验
    9. # ------------ ------- -------- ----------- -----------
    10. # 代码文档注释中有函数测试数据,直接运行文件时,默认会运行doctest。
    11. # 运行时可点if __name__ == '__main__':旁边的绿三角,运行“5.4.1 来自计算机的问候”
    12. # 或删除文档注释中>>> 开头的行和其下面的输出行
    13. def choose_function(no):
    14. """接收一个字符串为参数,根据参数值判断问题类型,调用合适的函数进行操作。"""
    15. if no == '1': # 调用函数print_hi_human(),输出“人类,你好!”
    16. print_hi_human()
    17. elif no == '2': #调用函数say_hi_human(),并输出其返回值
    18. print(say_hi_human())
    19. elif no == '3': #输入一个人名,并调用函数say_hi_person(),并输出其返回值
    20. person_name = input() # 输入人名
    21. print(say_hi_person(person_name))
    22. elif no == '4': #输入人名和性别(男或女),并调用函数say_hi_gender(),并输出其返回值
    23. person_name = input() # 输入人名
    24. person_gender = input() # 输入性别
    25. print(say_hi_gender(person_name, person_gender))
    26. elif no == '5': #在一行内输入人名和性别(男或女,性别可省略),以空格间隔,并调用函数say_hi_default(),并输出其返回值
    27. person_info = input().split() # 输入人名与性别,性别可省略。如输入:李白 男 或 李白
    28. print(say_hi_default(*person_info))
    29. elif no == '6': #在一行内输入多个人名,以空格间隔,并调用函数say_hi_multi_parameter(),分多行对每个人名输出“***,你好!”
    30. person_names=input().split()
    31. say_hi_multi_parameter(*person_names)
    32. else:
    33. print('再见')
    34. def print_hi_human(): # 函数名用小写字母
    35. """文档注释,双引号,说明函数的参数、功能和返回值等。
    36. 定义一个名为print_hi_human的无参数函数,其功能是打印一句问候语,
    37. 这个函数没有return语句,即没有返回值,或者说其返回值为None。
    38. # >>> print_hi_human()
    39. # 人类,你好!
    40. """
    41. print("人类,你好!")
    42. def say_hi_human(): # 函数名用小写字母
    43. """无参数函数,其功能是返回字符串“人类,你好!”。
    44. return语句将函数处理结果返回给调用处,此函数的返回值为一个字符串。
    45. # >>> say_hi_human()
    46. # "人类,你好!"
    47. """
    48. return "人类,你好!"
    49. def say_hi_person(full_name): # 函数名用小写字母,函数名填空
    50. """定义一个名为say_hi_person的有参数函数,其功能是返回一句问候语,
    51. 'full_name,你好!'(full_name为传入的参数)。
    52. @参数 full_name:人名,字符串类型。
    53. # >>> say_hi_person('李明')
    54. # '李明,你好!'
    55. """
    56. return f'{full_name},你好!'
    57. def say_hi_gender(full_name, gender):
    58. """定义一个名为say_hi_gender的有参数函数,其功能是返回一句问候语。
    59. @参数 full_name:人名,字符串类型
    60. @参数 gender:性别,字符串类型
    61. 根据参数gender值确定性别称谓,男性称为“先生”,女性称为“女士”,
    62. gender值不是'男'或'女'时称为“先生/女士”
    63. 返回值为替换了姓名与称谓的欢迎字符串。
    64. # >>> say_hi_gender('李明', '男')
    65. # '尊敬的李明先生,欢迎来到火星!'
    66. # >>> say_hi_gender('王佳', '张亮')
    67. # '尊敬的王佳先生/女士,欢迎来到火星!'
    68. """
    69. if gender == '男':
    70. title = '先生'
    71. elif gender == '女':
    72. title = '女士'
    73. else:
    74. title = '先生/女士'
    75. return f'尊敬的{full_name}{title},欢迎来到火星!'
    76. def say_hi_default(full_name, gender='男'):
    77. """定义一个名为say_hi_default的有参数函数,其功能是返回一句问候语。
    78. 根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,
    79. gender值不是'男'或'女'时称为“先生/女士”
    80. 当函数调用时未给出gender时,默认按男性处理
    81. 返回值为替换了姓名与称谓的欢迎字符串
    82. 例如:尊敬的李白先生,欢迎来到火星!
    83. @参数 full_name:人名,字符串类型
    84. @参数 gender:默认值参数,字符串类型,表示性别,默认值为'男'
    85. # >>> say_hi_default(person_name)
    86. # '尊敬的李明先生,欢迎来到火星!'
    87. # >>> say_hi_default(person_name, '女')
    88. # '尊敬的李明女士,欢迎来到火星!'
    89. """
    90. if gender == '男':
    91. title = '先生'
    92. elif gender == '女':
    93. title = '女士'
    94. else:
    95. title = '先生/女士'
    96. return f'尊敬的{full_name}{title},欢迎来到火星!'
    97. # *加变量名,可接收不限数量的参数
    98. def say_hi_multi_parameter(*names):
    99. """接收一个不定参数,可接收不限制数量的参数,遍历这个不定参数,分别输出问候语。
    100. # >>> say_hi_multi_parameter('杜甫', '李白')
    101. # 杜甫,你好!
    102. # 李白,你好!
    103. """
    104. for name in names: # 遍历输出
    105. print(f"{name},你好!")
    106. if __name__ == '__main__':
    107. op_no = input()
    108. choose_function(op_no)