"""int(x) 将x转换为一个十进制整数。"""
# 字符串转整数,字符串只能由数字组成的
s1 = "35"
data = int(s1)
print(data, type(data)) # 35 <class 'int'>
# 可以把其他的进制数值字符串转换成十进制整数
s2 = "0b1010"
# s2 = "1010"
data = int(s2, base=2)
print(data, type(data)) # 10 <class 'int'>
"""float(x) 将x转换为一个浮点数。"""
s2 = "3.5"
data = float(s2)
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 取整"""
num0 = 3.999999999
data = int(num0)
print(data) # 3
num1 = 3.99999999999999999999
data = int(num1)
print(data) # 4
"""ceil 向上取整"""
# 表示引入数学模块(python文件)
import math
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 四舍五入取整"""
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
"""取最大数值"""
ret = max(10, 12, 15, 20)
print(ret) # 20
"""取最小数值"""
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, 100)
print(data)
# choice 随机抽取一个成员
data = ["A", "B", "C"]
ret = random.choice(data)
print(ret)
# 随机打乱序列的成员排列顺序,这个shuffle在很多编程语言里面都有,是基于洗牌算法实现的。
data = ["A", "B", "C"]
random.shuffle(data) # 注意:此处不需要写等号了,
print(data)