python发红包(转载)
#!/usr/bin/env python
# -*- coding:utf-8 -*-# 1.获取文件夹的大小
# coding:utf-8
import osdef dir_size(path):ret = os.walk(path)sum_size = 0for base_path, dir_lst, file_lst in ret:for file_name in file_lst:print file_name # 所有文件,包括文件夹里的文件size = os.path.getsize(os.path.join(base_path, file_name))sum_size += sizereturn sum_sizeret = dir_size(r'/Volumes/E/自动化测试')
print(ret)# 2.校验两个大文件的一致性
# import hashlib
# path1 = r'D:\视频\全栈21期\day14\05 python fullstack s21day14 回顾和补充:作业题讲解.mp4'
# path2 = r'D:\视频\全栈21期\day14\back.mp4'
# import os
#
# def file_md5(path):
# size = os.path.getsize(path)
# md5 = hashlib.md5()
# with open(path,mode='rb') as f:
# while size>1024:
# content = f.read(1024)
# md5.update(content)
# size -=1024
# else: #此处可以不写,为了严谨起见修改了size=0
# content = f.read(size)
# md5.update(content)
# size = 0
# return md5.hexdigest()# print(file_md5(path1)== file_md5(path2))# with open(path1,mode='rb') as f: # 10245
# while size > 0:
# content = f.read(1024)
# md5.update(content)
# size -= 1024# 3.发红包 理解为有一条线0到200 假设十个人抢红包 则随机切9刀
```c
# coding:utf-8
import randomdef red_pack(money, num):ret = random.sample(range(1, money * 100), num - 1) # 找到切割点,切割成9份ret.sort() # 对9份数字进行升序排序ret.insert(0, 0) # 增加起始位置,第一位增加为0ret.append(money * 100) # 增加结束为止,最后一位增加为20000for i in range(len(ret) - 1): # len(ret) - 1表示有10次yield (ret[i + 1] - ret[i]) / 100 # 返回生成器 , 利用这样得出来的总数为200ret = red_pack(200, 10) # 出结果
for i in ret:print(i)解释如下(代码原理):
如 总数20随机分成5份,比如为 1,2,4,6,7;random.sample(range(1, money * 100), num - 1)
# random.sample()方法可以随机地从指定列表中提取出N个不同的元素
则变成 0 1,2,4,6,7 20;
则(20-7)+(7-6)+(6-4)+(4-2)+(2-1)+(1-0)= 20
yield解释:
先把yield看做“return”,这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,
返回之后程序就不再往下运行了。看做return之后再把它看做一个是生成器(generator)的一部分
(带yield的函数才是真正的迭代器)
yield参考: https://blog.csdn.net/mieleizhi0522/article/details/82142856.
转载:https://blog.csdn.net/wuxingpu5/article/details/89739225
转载:https://www.jianshu.com/p/5122022286fb
python发红包(转载)相关推荐
- python 发红包import random用redenv_python 发红包
红包1 import random def redpacket(cash,person): lst=[] sum1=0 cash = cash * 100 while cash>0 and pe ...
- python 发红包import random用redenv_python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
- python发红包程序解析-微信红包python实现
昨天去面试一个公司的时候,和对方技术负责人聊到一半,突然叫我现场写 一个微信红包出来,当时我是懵逼的(之前叫我手写一个排序出来,我只写出了一个冒泡出来),但是想了几秒钟,觉得应该挺简单的吧,发红包不就 ...
- Python 发红包(用numpy)
题目: # 1.按照本班级人数,如50人,生成对应数量的随机数,组成一个随机红包数组. # 2.调整红包中的每一个随机数,使得它们的总和为100. # 3.从csv文件(自己用excel创建,可以大家 ...
- python发红包最佳手气王_给自己发了两亿个红包后,我找到了手气最佳的秘密
给大家讲一个故事,一个关于微信抢红包的故事,也是我自己做的一个小探究. 现如今抢红包已经是一个全民竞技体育了,每个人抢到那几分钱都特别地开心. 但有段时间我发现了一个奇怪的现象,就是不管别人发多大的红 ...
- python发红包最佳手气王_看完这篇文章 以后微信抢红包手气王就是我了
春节是中华民族隆重的农历新年,这是世界上规模最大的节日. 在春节前后,炎黄子孙们不远万里衣锦还乡,与亲人们团圆. 在此期间,中国的铁路上会发生,地球上最大规模的人口迁徙. 作为世界上最能吃最能玩的种族 ...
- python发红包最佳手气王_为啥抢红包手气最佳都是别人的?科学计算教你抢最大红包...
原标题:为啥抢红包手气最佳都是别人的?科学计算教你抢最大红包 在抢微信红包的过程中,可能许多人有这样一种感觉,抢红包貌似后抢比先抢能拿到更多的钱?有人就做了一个实验-- 友情提示: 全文约6400字, ...
- python发红包问题_python 模拟发红包程序
程序源码:# -*- coding: utf-8 -*- # @Author : guangling_lin # @Email : guangling_lin@aliyun.com # @File : ...
- python 发红包import random用redenv,Python微信发红包编码案例 微信发红包的架构模式 - push博客...
Python手机微信红包优化算法案例 #!/usr/bin/env python # coding: utf-8 import random # m : 红包个数 # n : 红包人数 # packe ...
最新文章
- unity2018关联不到vs_律道|蓝月传奇VS烈焰武尊:角色扮演类游戏独创性如何认定?...
- Android系统的架构
- 统计一段英文中单词的个数c语言,C语言统计一篇英文短文中单词的个数实例代码...
- Python之分享常用的五款动态数据可视化工具
- apr_pool -- 内存池
- Django从理论到实战(part42)--QueryDict对象
- HDOJ---2236 无题II[二分枚举+匈牙利]
- php javascript 不执行,javascript – 不工作php按钮来执行操作
- dll文件懒加载_前端性能优化
- 复杂网络社区划分方法综述
- html css纯写桌球运动轨迹,纯JS实现椭圆轨迹运动的代码
- EXCEL公式获取幂函数系数解析
- 仿真软件proteus构建LCD1602四线驱动实验
- 神经系统图 基本结构图,神经系统结构图示意图
- Microsoft软件保护平台服务CPU占用率过高的解决办法
- 时代当歌,懂行为剑,英雄正少年
- MySQL 连接为什么挂死了?
- SpringBoot:认认真真梳理一遍自动装配原理
- Ubuntu内网穿透搭建网站:设置跳转本地网页服务 6/17
- 计算机科学计数法是哪个键,卡西欧计算器中的科学计数法键如何使用?请举例!急!...