输入若干个整数,按降序打印输出在一行(使用空格间隔),并给出中位数
有帮助记得采纳一下哦!
# 输入若干个整数,用空格隔开
lst = list(map(int, input().split()))
# 对输入的列表进行排序(从大到小)
lst.sort(reverse=True)
# 输出降序排列的结果,中间用空格分隔
print(" ".join(map(str, lst)))
# 计算中位数的位置,注意:Python 中列表下标从 0 开始
n = len(lst)
mid_index = (n - 1) // 2
# 计算中位数
if n % 2 == 0:
median = (lst[mid_index] + lst[mid_index + 1]) / 2
else:
median = lst[mid_index]
# 输出中位数
print(median)
def add(x=4,y=6): # 这就是默认值(缺省值)
return x+y
调用举例:add(6,10) ~ add(6,y=3)#都使用传入值 ~ add (x=5)#x使用传入值 y使用默认值 ~ add()#使用默认值
问题解答:
1.如何用Python按降序打印并输出若干个整数?
答:可以使用Python内置的sorted函数和reverse参数实现降序排列并输出。具体代码如下:
num_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sort_list = sorted(num_list, reverse=True) print(sort_list)
输出结果为:
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
2.另外请问如何计算输出数列的中位数?
答:可以使用Python内置的statistics模块中的median函数计算输出数列的中位数。具体代码如下:
import statistics
num_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] median_num = statistics.median(num_list) print(median_num)
输出结果为:
4
如需自己编写计算中位数的代码,可以按照以下步骤实现:
具体代码如下:
num_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sort_list = sorted(num_list) n = len(sort_list) if n % 2 == 0: median_num = (sort_list[int(n/2)-1] + sort_list[int(n/2)]) / 2 else: median_num = sort_list[int((n-1)/2)] print(median_num)
输出结果为:
4.0