1. 程式人生 > 其它 >2-數值常用操作

2-數值常用操作

int(x) 將x轉換為一個十進位制整數

# 字串轉整數,字串只能由數字組成
s1 = "35"
data = int(s1)
print(data, type(data))  # 35 <class 'int'>
# 可以把其他進位制的數值字串轉換成十進位制整數
s2 = "0b1010"
# s2 = "1010"  # 去掉0b也可以
data = int(s2, base=2)
print(data, type(data))   # 10 <class 'int'>

float(x) 將x轉換為一個浮點數

s1 = "3.5"
data = float(s1)
print(data, type(data))   # 3.5 <class 'float'>

abs(x) 是求絕對值 |x|

num1 = 100
data = abs(num1)
print(data)    # 100
num2 = -10
data = abs(num2)
print(data)    # 10

int 取整

num1 = 3.99999999999
data = int(num1)
print(data)    # 3
num2 = 3.99999999999999999
data = int(num2)
print(data)    # 4

ceil 向上取整

import math   # 表示引入數學模組(python檔案)

num0 = 3.1
data = math.ceil(num0)
print(data)   # 4

num0 = 3.9
data = math.ceil(num0)
print(data)   # 4

num0 = 3.0
data = math.ceil(num0)
print(data)   # 3

floor 向下取整(地板取整)

import math

num0 = 3.1
data = math.floor(num0)
print(data)    # 3

num0 = 3.9
data = math.floor(num0)
print(data)    # 3

num0 = 3.0
data = math.floor(num0)
print(data)    # 3

round(x) 四捨五入取整

num0 = 3.1
data = round(num0)
print(data)     # 3
num0 = 3.9
data = round(num0)
print(data)     # 4
num0 = 3.5
data = round(num0)
print(data)     # 4

max 取最大值

ret = max(10, 12, 15, 20)
print(ret)    # 20

min 取最小值

ret = min(10, 12, 15, 20)
print(ret)     # 10

max和min 也可以從字串中提取最大值,類似字串的比較,是編碼位置的比較,原因是max和min內部就是使用比較運算子來處理的。

# 取最大值
ret = max("A", "a", "c", "C")
print(ret)    # c

# 取最小值
ret = min("A", "a", "c", "C")
print(ret)   # A

提取一個數字的整數部分和小數部分

import math
ret = math.modf(3.1415)  #(浮點數部分, 整數部分)
print(ret)    # (0.14150000000000018, 3.0)

pow 冪運算

print(pow(2,3))    # 8  相當於2**3次方

sqrt 平方根

import math

data = math.sqrt(4)
print(data)   # 2.0

隨機數

import random

# 生成一個0~1之間的隨機實數,範圍是[0,1),不包含1
data = random.random() 
print(data)


# 生成一個指定範圍[a,b]的隨機整數,包含a,b
data = random.randint(1,2)  
print(data)


# choice 隨機抽取一個成員
data = ["A", "B", "C"]
ret = random.choice(data)   
print(ret)


# 隨機打亂序列的成員排列順序,這個shuffle在很多程式語言裡面都有,是基於洗牌演算法實現的。
data = ["A", "B", "C"]
random.shuffle(data)    # 注意:此處不需要寫等號了
print(data)