1. 程式人生 > >python位運算之計算中位數

python位運算之計算中位數

() 否則 進制 software war c語言 Coding 語言 arm

# -*- coding: utf-8 -*-
# @Time : 2018/11/23 10:49 PM
# @Author : cxa
# @File : 1.py
# @Software: PyCharm

# 中位數
# L = [0, 1, 2, 3, 4]  # 2
L = [0, 1, 3, 4, 5,7]
L.sort()
l_len = len(L)
n = (l_len - 1) // 2 #向下取整
# C語言中&表示按位與,0x開頭的表示的是十六進制數,k&0x1表示k與0x1按位與,
# 其效果為取k的二進制中最右邊的數字,該式也可以用做判斷k的奇偶性, 如果k為奇數,其計算結果為1,否則為0。

if l_len & 0x1:
    print(L[n])
else:
    print("%.1f" %((L[n] + L[n+1]) / 2.0))

python位運算之計算中位數