请使用python编写任务:自定义函数message,实现学生的信息输出。 """ ''' 定义函数message,参数有位置参数name,默认参数age(默认值为6),可变参数scores, 关键字参数kw
时间: 2024-09-20 10:08:50 浏览: 90
可以使用Python的`*args`和`**kwargs`来实现自定义函数`message`,它可以接受不同类型的参数,包括位置参数、默认参数和关键字参数。下面是一个例子,用于输出学生的基本信息:
```python
def message(name, age=6, *scores, **kw):
"""
自定义函数message,用于输出学生的信息。
参数:
name (str): 学生姓名
age (int, 默认6): 学生年龄
scores (*list, 可选): 学生成绩列表,如果有多个成绩,以元组形式传入
kw (dict, 可选): 关键字参数,例如年级、专业等
示例:
>>> message('Tom', age=18, scores=(90, 85, 92))
'学生姓名: Tom, 年龄: 18, 成绩: [90, 85, 92]'
>>> message('Jerry', 17, grade='高三', major='数学')
'学生姓名: Jerry, 年龄: 17, 年级: 高三, 专业: 数学'
"""
if scores:
score_str = ', '.join(map(str, scores))
info = f"学生姓名: {name}, 年龄: {age}, 成绩: [{score_str}]"
else:
info = f"学生姓名: {name}, 年龄: {age}"
# 处理关键字参数
if kw:
info += ", " + ', '.join([f"{k}: {v}" for k, v in kw.items()])
print(info)
# 测试函数
message('Alice', age=19, scores=(95, 98))
message('Bob', 20, grade='大学一年级', major='计算机科学')
```
阅读全文
相关推荐


















