#定义一个函数,用户每次输入一个数字,如果不是数字,提醒用户重新输入,#经过多次输入后,将所有的数字放入列表进行返回 #求和:用户通过控制台输入多个数字,求数字之和#求中位数: 用户通过控制台输入多个无序数字,求所有数据的中位数
时间: 2024-09-28 14:04:57 浏览: 50
你可以创建两个函数,分别处理输入数字并将它们添加到列表中以及计算数字总和。同时,为了找到中位数,你还需要对数字进行排序。以下是这两个函数的示例实现:
```python
def input_numbers():
numbers = []
while True:
user_input = input("请输入一个数字(输入非数字结束):")
if not user_input.isdigit():
print("这不是一个有效的数字,请重新输入。")
continue
else:
numbers.append(int(user_input))
break # 用户输入非数字后跳出循环
return numbers
def calculate_sum(numbers):
return sum(numbers)
def calculate_median(numbers):
numbers.sort()
length = len(numbers)
if length % 2 == 0:
median = (numbers[length // 2] + numbers[length // 2 - 1]) / 2
else:
median = numbers[length // 2]
return median
# 获取并显示数字列表
numbers_list = input_numbers()
print("输入的数字列表:", numbers_list)
# 计算并显示数字总和
total_sum = calculate_sum(numbers_list)
print("数字之和:", total_sum)
# 计算并显示中位数
median_value = calculate_median(numbers_list)
print("数字的中位数:", median_value)
```
在这个程序中,`input_numbers()`函数会持续提示用户输入数字,直到他们输入非数字字符为止。`calculate_sum()`函数计算输入数字的总和,而`calculate_median()`函数首先对数字排序然后确定中位数。
阅读全文