洗牌利器——random.shuffle()函数
在Python中,非十进制数字的表示方式为:
二进制:前面加0b,如0b1001
八进制:前面加0o,如0o3562
十六进制:前面加0x,如0x2af3(字母a-f大小写随意)
不同进制数字可直接进行数学计算,结果返回十进制:
x=0b100 #二进制的4
y=0xa #十六进制的10
print(x+y,type(x),type(y))
执行结果:14 <class 'int'> <class 'int'>
下面按照不同的进制说明相关的转换方法:
bin(binary:其他进制数字→0b开头的二进制字符串)
x=bin(100)
y=bin(0x2a)
print(x,type(x))
print(y,type(y))
执行结果:
0b1100100 <class 'str'>
0b101010 <class 'str'>
oct(octonary:其他进制数字→0o开头的八进制字符串)
x=oct(100)
y=oct(0b100)
print(x,type(x))
print(y,type(y))
执行结果:
0o144 <class 'str'>
0o4 <class 'str'>
hex(hexadecimal:其他进制数字→0x开头的十六进制字符串)
x=hex(100)
y=hex(0b100)
print(x,type(x))
print(y,type(y))
执行结果:
0x64 <class 'str'>
0x4 <class 'str'>
int(integer:三种情况→十进制数字)
情况一:0?开头的其他进制数字→十进制数字
a=0b100
b=0xf
print(int(a))
print(int(b))
执行结果:
4
15
情况二:0?开头的其他进制字符串→十进制数字
a='0b100'
b='0xf'
print(int(a,base=0))
print(int(b,0))
执行结果:
4
15
情况三:不带0?的其他进制字符串→十进制数字
a='100'
b='f'
print(int(a,base=2))
print(int(b,16))
执行结果:
4
15
int()的第一个参数 | int()的第二个参数 |
---|---|
0?开头的其他进制数字 | 不输 |
0?开头的其他进制字符串 | 必输base=0,或简写为0 |
不带0?的其他进制字符串 | 必输base=进制数,或简写为进制数 |
注意:bin、oct、hex都直接接一个参数且输出的都是字符串。int与这三个不同,它分三种情况,接一个或两个参数,且输出结果是数字。
x=0b101
y=str(x)
print(x,type(x))
print(y,type(y))
执行结果:
5 <class 'int'>
5 <class 'str'>
注意:直接手输的0b、0o、0x开头的非十进制数字的数据类型都是int,对其print或转为字符串时,会先转化成十进制再转成字符串
补充:笔者自行推导的int2bin、bin2int
基于二进制与十进制的转化关系,笔者自己推导了输入、输出均为十进制数字的int2bin、bin2int函数:
int2bin:十进制转二进制(输入、输出均为十进制数字,如将十进制的7转换为十进制的111)
def int2bin(x):
s=''
while x>0:
s=s+str(x % 2)
x=x//2
return int(s[::-1])
print(int2bin(7))
bin2int:二进制转十进制(输入、输出均为十进制数字,如将十进制的111转换为十进制的7)
def bin2int(x):
y=str(x)
power = len(y)-1
s=0
for i in y:
s=s+int(i)*(2**power)
power-=1
return s
print(bin2int(111))
洗牌利器——random.shuffle()函数的更多相关文章
- [转]完美洗牌(Perfect Shuffle)问题
[转]原博文地址:https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/02.09.md ...
- 随机洗牌算法Knuth Shuffle和错排公式
Knuth随机洗牌算法:譬如现在有54张牌,如何洗牌才能保证随机性.可以这么考虑,从最末尾一张牌开始洗,对于每一张牌,编号在该牌前面的牌中任意一张选一张和当前牌进行交换,直至洗到第一张牌为止.参考代码 ...
- np.random.random()系列函数
1.np.random.random()函数参数 np.random.random((1000, 20)) 上面这个就代表生成1000行 20列的浮点数,浮点数都是从0-1中随机. 2.numpy.r ...
- np.random.random()函数 参数用法以及numpy.random系列函数大全
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.r ...
- 【转】np.random.random()函数 参数用法以及numpy.random系列函数大全
转自:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.random((1000, 20) ...
- python 练习洗牌
生成随机数需要引入random模块,学习下random模块中常用的几个函数: random.random() 用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.un ...
- 【CUDA 基础】5.6 线程束洗牌指令
title: [CUDA 基础]5.6 线程束洗牌指令 categories: - CUDA - Freshman tags: - 线程束洗牌指令 toc: true date: 2018-06-06 ...
- 文本数据挖掘---课后作业shuffle函数洗牌C++
题目: 代码如下:#include <iostream> #include <random> #include <algorithm> #include <v ...
- 洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章<扫雷与算 ...
随机推荐
- 每天进步一点点------ISE 12.4的FPGA设计基本流程
基于ISE 12.4的FPGA设计基本流程 ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入.仿真.综合.布局布线.生成BIT文件.配置以及在线调试等 ...
- 浅谈DAO工厂设计模式(工厂模式的好处)
随着软件分层设计的流行及广泛的应用,对于DAO的设计模式大家已经不再陌生了,DAO层已经在软件系统的开发中成为必不可少的一层,将后台的数据层和前台的VO进行分离.前段时间也针对于DAO的设计介绍过一个 ...
- Reinforcement Learning,微信公众号:DRL学习
欢迎大家关注微信公众号:DRL学习,我们一起来学习强化学习和深度强化学习的算法及现状应用问题. 强化学习简单说就是学习如何最大化未来奖励的预期总和,以及agent学会在环境中做出的行动序列,其中随机状 ...
- 【代码总结】Struts2 Action接受参数方式的对比
一.属性方式 1.Action中:对应表单参数的setter.getter 2.页面中 :Form中元素name取值属性名 <s:property value="属性名" ...
- 概率DP hdu 3366 .
题意:一个人被困在一个城堡里,面前有n条路,他自己有m百万元,选择每一条路都有p概率通过,q概率遇到士兵,1-p-q概率道路不通:遇到士兵的话需要上交1百万,如果不够钱,则被杀死,问的是最优情况下多少 ...
- ISR模块
SM-SRE-700-K9:先来介绍一下这个模块 Q:它是用来干嘛的?A:思科服务就绪引擎模块是思科集成多业务路由器第2代(ISR G2)的高性能路由器刀片,可提供托管思科,第三方和自定义应用程序的功 ...
- C9300升级-TFTP
1.操作命令:CAT9300(config)#ip tftp blocksize 8192CAT9300(config)#install add file tftp://10.1.100.37/cat ...
- snowflake 雪花算法 分布式实现全局id生成
snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID. 这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案 ...
- dk7和jdk8的一些新特性
本文是我学习了解了j 的一些资料,有兴趣的大家可以浏览下下面的内容. 官方文档:http://www.oracle.com/technetwork/java/javase/jdk7-relnotes- ...
- dubbo+zookeeper搭建笔记
参考博客: http://blog.csdn.net/u013142781/article/details/50396621#reply http://blog.csdn.net/u013142781 ...