一行中输入n个整数,输出最接近平均值的值,若有多个元素输出排序靠前的原始值Python
时间: 2023-06-16 12:04:17 浏览: 84
可以先计算平均值,然后遍历整个列表,记录与平均值差值最小的元素及其下标,最后输出该元素的值即可。
以下是示例代码:
```python
n = int(input()) # 输入整数个数
nums = list(map(int, input().split())) # 输入整数列表
mean = sum(nums) / n # 计算平均值
min_diff = float('inf') # 初始化差值最小值为正无穷大
result = nums[0] # 初始化最接近平均值的元素为第一个元素
for i in range(n):
diff = abs(nums[i] - mean) # 计算当前元素与平均值的差值
if diff < min_diff: # 如果差值比最小值还小,则更新最小值和结果
min_diff = diff
result = nums[i]
print(result) # 输出最接近平均值的元素值
```
注意,如果有多个元素与平均值差值相同,那么需要输出排序靠前的元素,因此我们可以在遍历整个列表时,记录第一个差值最小的元素即可。
相关问题
一行中输入n个整数,输出最接近平均值的值,若有多个元素输出排序靠前的原始值Python,如果有多个元素与平均值差值相同,那么需要输出排序靠前的元素,因此我们可以在遍历整个列表时,记录第一个差值最小的元素
可以使用以下代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
avg = sum(nums) / n
min_diff = float('inf')
ans = nums[0]
for num in nums:
diff = abs(num - avg)
if diff < min_diff:
min_diff = diff
ans = num
print(ans)
```
首先读入整数n和列表nums。然后计算平均值avg。接着,我们初始化最小差值为正无穷,并将答案ans初始化为列表的第一个元素。然后遍历列表nums中的每个元素,计算它与平均值的差值,并将其与当前最小差值进行比较。如果差值更小,则更新最小差值和答案。最后,输出答案即可。
阅读全文