任意输入一组数放入列表,降序排列并求这组数的和、最大值、最小值、平均值。并将结果写入文件
时间: 2024-01-29 09:03:10 浏览: 77
好的,我来为你解答。
首先,我们可以使用input函数获取用户输入,然后将输入的字符串转换为整数,最后将其添加到列表中。代码如下:
```
num_list = []
while True:
num_str = input("请输入一个数字(输入Q结束输入):")
if num_str.upper() == 'Q':
break
num_list.append(int(num_str))
```
接着,我们可以使用sorted函数将列表中的元素进行降序排列,并使用sum、max、min、len函数求出这组数的和、最大值、最小值、平均值。代码如下:
```
num_list = sorted(num_list, reverse=True)
sum_num = sum(num_list)
max_num = max(num_list)
min_num = min(num_list)
avg_num = sum_num / len(num_list)
```
最后,我们可以使用open函数打开一个文件,并使用write函数将结果写入文件中。代码如下:
```
with open('result.txt', 'w') as f:
f.write('降序排列后的数字列表:{}\n'.format(num_list))
f.write('这组数的和为:{}\n'.format(sum_num))
f.write('这组数的最大值为:{}\n'.format(max_num))
f.write('这组数的最小值为:{}\n'.format(min_num))
f.write('这组数的平均值为:{}\n'.format(avg_num))
```
完整的代码如下:
```
num_list = []
while True:
num_str = input("请输入一个数字(输入Q结束输入):")
if num_str.upper() == 'Q':
break
num_list.append(int(num_str))
num_list = sorted(num_list, reverse=True)
sum_num = sum(num_list)
max_num = max(num_list)
min_num = min(num_list)
avg_num = sum_num / len(num_list)
with open('result.txt', 'w') as f:
f.write('降序排列后的数字列表:{}\n'.format(num_list))
f.write('这组数的和为:{}\n'.format(sum_num))
f.write('这组数的最大值为:{}\n'.format(max_num))
f.write('这组数的最小值为:{}\n'.format(min_num))
f.write('这组数的平均值为:{}\n'.format(avg_num))
```
运行程序后,用户输入一组数字,程序将这组数字进行降序排列,并将结果写入result.txt文件中。
阅读全文