从键盘接收一个整数n,假定用户输入的n一定是满足3 <= n <= 100。接下来,从键盘接收n个整数存入数组。用户输入的整数,大小是杂乱无序的。 计算这n个数的平均值和中位数。中位数就是数组元素升序排列后,最中间的一个数(奇数个数据),或中间两个元素平均值(偶数个元素)。
时间: 2023-06-10 08:04:43 浏览: 203
好的,我已经明白了你的问题。以下是我给出的解决方案:
首先,我会通过 input 函数从键盘上接收一个整数 n。然后,我会创建一个空列表来存储用户输入的 n 个整数。接下来,我会使用 for 循环从键盘上接收 n 个整数,并将它们添加到列表中。
代码如下:
```python
n = int(input("请输入整数 n:"))
nums = []
for i in range(n):
num = int(input("请输入第 %d 个整数:" % (i+1)))
nums.append(num)
```
接下来,我会对列表 nums 进行排序,然后根据列表长度的奇偶性,计算中位数。如果列表的长度是奇数,中位数就是排好序的列表中间的数。如果列表的长度是偶数,中位数就是排好序的列表中间两个数的平均值。
代码如下:
```python
nums.sort()
avg = sum(nums) / n
if n % 2 == 0:
median = (nums[n//2-1] + nums[n//2]) / 2
else:
median = nums[n//2]
```
最后,我会输出计算出来的平均值和中位数:
```python
print("平均值为:%.2f" % avg)
print("中位数为:%.2f" % median)
```
完整代码如下:
```python
n = int(input("请输入整数 n:"))
nums = []
for i in range(n):
num = int(input("请输入第 %d 个整数:" % (i+1)))
nums.append(num)
nums.sort()
avg = sum(nums) / n
if n % 2 == 0:
median = (nums[n//2-1] + nums[n//2]) / 2
else:
median = nums[n//2]
print("平均值为:%.2f" % avg)
print("中位数为:%.2f" % median)
```
希望我的回答对你有所帮助!
阅读全文