求两个或三个正整数中的最大值用带有默认参数的函数实现并编写主程序进行测试
时间: 2024-09-27 14:15:39 浏览: 29
在Python中,你可以使用默认参数和lambda表达式来创建一个求最大值的函数,并在主程序中传入任意数量的正整数作为参数。这是一个简单的例子:
```python
def max_value(*args, default=None): # 使用*args表示可以接受任意数量的位置参数
if len(args) == 0: # 如果没有传递参数,返回默认值
return default
else:
return max(args) # 如果有参数,返回最大的那个
# 测试函数
default_max = 5 # 设置一个默认的最大值
print("Max of given numbers:", max_value(3, 7, 1, default=default_max))
print("Max with only one number and default:", max_value(2, default=default_max))
# 主程序测试
if __name__ == "__main__":
numbers = [int(input(f"Enter a number (or 'done' to finish): "))]
while True:
user_input = input()
if user_input.lower() == 'done':
break
numbers.append(int(user_input))
print("Max value from entered numbers:", max_value(*numbers, default=max(numbers)))
```
这个`max_value`函数接收任意数量的正整数作为位置参数`*args`,如果所有参数都省略了,则使用`default`参数。在主程序部分,用户可以输入一些数字直到输入"done"为止,然后计算输入的所有数字中的最大值。
阅读全文