2-数值常用操作


int(x) 将x转换为一个十进制整数

# 字符串转整数,字符串只能由数字组成
s1 = "35"
data = int(s1)
print(data, type(data))  # 35 
# 可以把其他进制的数值字符串转换成十进制整数
s2 = "0b1010"
# s2 = "1010"  # 去掉0b也可以
data = int(s2, base=2)
print(data, type(data))   # 10 

float(x) 将x转换为一个浮点数

s1 = "3.5"
data = float(s1)
print(data, type(data))   # 3.5 

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)

相关