Python内置库:数据计算相关 - math,random
使用示例代码
# # 常用数学计算相关列举 import math import random # 求和 = 10 print(sum([1, 2, 3, 4])) # 最大值 = 4 print(max([1, 2, 3, 4])) # 最小值 = 1 print(min([1, 2, 3, 4])) # 绝对值 = 10 print(abs(-10)) # 向上取整 = 4 print(math.ceil(3.141)) # 向下取整 = 3 print(math.floor(3.941)) # 四舍五入 = 3.9 print(round(3.941, 1)) # m 的 n次方 = 3*3*3*3 = 81.0 print(math.pow(3, 4)) # 开平方 = 二次方根 = 6.0 print(math.sqrt(36)) # 开平方 = 二次方根 = 6.0 print(math.sqrt(36)) # 拆分小数和整数 = (0.72, 1.0) print(math.modf(1.72)) # 圆周率 print(math.pi) # 自然对数 print(math.e) # 随机数模块 # 随机获取0~1小数 print(random.random()) # 重新洗牌 = 打乱原有顺序,无返回值。返回值为None list1 = [1, "a", 9, "b", "c", 3] random.shuffle(list1) print(list1) # 获取范围内随机的整数, !!!可以取到右边。 print(random.randint(5, 6))
力扣某题中使用向上取整的案例
桌上有n
堆力扣币,每堆的数量保存在数组coins
中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。
示例 1:
输入:[4,2,1]
输出:4
解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。
示例 2:
输入:[2,3,10]
输出:8
import math class Solution: def minCount(self, coins: list[int]) -> int: import math # 如果第 i 堆 除以 2 不是整数。则向上取整。然后求和。 return sum([int(math.ceil(i / 2)) for i in coins]) if __name__ == '__main__': s = Solution() coins = [4, 2, 1] s.minCount(coins)
pip install radar
radar主要函数:
1、random_date()
2、random_datetime()
3、random_time()
参数说明
start:指定范围的开始时间,默认:1970-01-01
stop:指定范围的结束时间,默认:datetime.date.today()
# -*- coding: utf-8 -*- # time: 2022/4/30 23:40 # file: test.py # 公众号: 玩转测试开发 import radar print(radar.random_date()) # 随机:年月日 print(radar.random_datetime()) # 随机:年月日 时分秒 print(radar.random_time()) # 随机:时分秒 print("*" * 20) print(radar.random_date("2000-01-01", "2970-01-01")) # 指定范围内随机:年月日 print(radar.random_datetime("1999-07-12T14:12:06", "2099-07-12T14:12:06")) # 指定范围内随机:年月日 时分秒 print(radar.random_time("1999-07-12T14:12:06", "1999-07-12T22:12:06")) # 指定范围内随机:时分秒
运行结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理