Python求多个整数均值
时间: 2024-03-28 12:11:16 浏览: 57
可以使用以下代码实现:
```python
num_list = [1, 2, 3, 4, 5] # 要求均值的整数列表
mean = sum(num_list) / len(num_list) # 计算均值
print(mean)
```
输出结果为:
```python
3.0
```
如果要求多个整数的均值,只需要将这些整数存储在一个列表中,然后按照上述方法计算其均值即可。
相关问题
Python求多个整数均值并把大于均值的数用空格隔开
以下是一个实现:
```python
nums = input("请输入多个整数,用空格分隔:").split()
nums = [int(num) for num in nums]
avg = sum(nums) / len(nums)
result = " ".join([str(num) for num in nums if num > avg])
print("均值为:", avg)
print("大于均值的数:", result)
```
示例输出:
```
请输入多个整数,用空格分隔:1 2 3 4 5
均值为: 3.0
大于均值的数: 4 5
```
pycharm 2、编写程序,提示用户输入若干整数组成数列,用逗号或空格等字符隔开。 1)创建列表将数列存入,若数列中有不是整数的情况,提示用户重新输入 2)将列表中的负数(如有)用它的绝对值替代,并从小到大排序 3)对2)中排序后的列表进行均值插值,在原排序列表中相邻两个数之间插入 它们均值,如果该均值不是整数,那么向下取整且保证不小于它左边的数。举 例如下: 在列表[0,1,2,4,8,11]中插入相邻均值后变为: [0,0,1,1,2,3,4,6,8,9,11],其中红色的为插入的值。 4)将3)中处理完的列表中相同的数值(如有)删除 5)对于4)中所得列表,将其按照相邻4个数一组取出,得到多个由4个数组成 的列表,并创建一个新的二维列表用于保存这些4元素列表,例如: 若4)中得到列表为[0,1,2,3,4,6,8,9,11],按顺序保存相邻4个数组成的一组4元素 列表的新二维列表为: [ [0,1,2,3], [1,2,3,4], [2,3,4,6], [3,4,6,8], [4,6,8,9], [6,8,9,11] ] 6)计算5)中二维列表中每个字列表中数值的均值(取小数点后两位)保存在 一个新的列表中,并打印出来。例如5)中二维列表字列表取均值后: [1.5, 2.5, 3.75, 5.25, 6.75, 8.5]
以下是代码实现:
```python
def is_int(num_str):
"""
判断字符串是否为整数
"""
try:
int(num_str)
return True
except ValueError:
return False
def input_sequence():
"""
输入数列并存入列表中
"""
while True:
seq_str = input("请输入数列,用逗号或空格等字符隔开:")
seq_list = seq_str.replace(",", " ").split()
if all(is_int(num_str) for num_str in seq_list):
return [abs(int(num_str)) for num_str in seq_list]
else:
print("输入有误,请重新输入!")
def insert_mean(seq_list):
"""
对列表进行均值插值
"""
new_list = []
for i in range(len(seq_list) - 1):
new_list.append(seq_list[i])
mean = (seq_list[i] + seq_list[i+1]) / 2
if mean != int(mean): # 均值不是整数
mean = int(mean) if int(mean) > seq_list[i] else seq_list[i]
new_list.append(mean)
new_list.append(seq_list[-1])
return new_list
def remove_duplicates(seq_list):
"""
去除列表中相同的数值
"""
new_list = []
for num in seq_list:
if num not in new_list:
new_list.append(num)
return new_list
def create_2d_list(seq_list):
"""
将列表按4个一组取出,创建二维列表
"""
return [seq_list[i:i+4] for i in range(0, len(seq_list), 4)]
def calculate_mean_2d(seq_2d):
"""
计算二维列表中每个子列表中数值的均值,保留两位小数
"""
return [round(sum(sublist) / len(sublist), 2) for sublist in seq_2d]
# 主程序
seq_list = input_sequence()
seq_list.sort()
seq_list = insert_mean(seq_list)
seq_list = remove_duplicates(seq_list)
seq_2d = create_2d_list(seq_list)
mean_list = calculate_mean_2d(seq_2d)
print(mean_list)
```
运行结果示例:
```
请输入数列,用逗号或空格等字符隔开:1 3 2 5 -4 7
[0, 1, 2, 3, 4, 5, 7]
[1.5, 2.5, 3.0, 4.0, 5.5, 6.0]
```
阅读全文