#===================================
#2.2 不同进制间的转换
#===================================#+++++++++++++++++++++++++++++++++++
#2.2.1. 二进制数转换为十进制数
#+++++++++++++++++++++++++++++++++++#<程序:2-to-10进制转换>
b=input("Please enter a binary number:")
d=0;
for i in range(0,len(b)):if b[i] == '1':weight = 2**(len(b)-i-1)d = d+weight;
print(d)#<程序:改进后的2-to-10进制转换>
b=input("Please enter a binary number:")
d=0; weight=2**(len(b)-1);
for i in range(0,len(b)):if b[i] == '1':d = d+weight;weight=weight//2;       #‘//’是整数除法
print(d)#+++++++++++++++++++++++++++++++++++
#2.2.2. 十进制数转换为二进制数
#+++++++++++++++++++++++++++++++++++#<程序:整数的10-to-2进制转换>
x= int(input("Please enter a decimal number:"))
r = 0;
Rs = [];
while(x != 0):r = x% 2x = x//2Rs = [r]+Rs
for i in range(0,len(Rs)):
#从最高位到最低位依次输出;Rs[0]存的是最高位, Rs[len(Rs)-1]存的是最低位。print(Rs[i],end='')#<程序:整数的10-to-2进制转换-递归>
def convert(x):      #把10进制数x转换为2进制数,并返回结果列表。if x<2: return([x])     #x=0 或 1,所以返回xr= x%2;           #r 是2除x的余数return(convert(x//2)+[r])   # 结果=[x//2的二进制,r]num = int(input("Please enter a decimal number:"))
Rs= convert(num)
for i in range(0, len(Rs)):print (Rs[i],end='')#=====================================================================================#===================================
#2.4. 一切都是逻辑(Logic)
#===================================#+++++++++++++++++++++++++++++++++++
#2.4.3. 用逻辑做加法
#+++++++++++++++++++++++++++++++++++#<程序: 全加器>
def FA(a,b,c):  # Full adderCarry = (a and b) or (b and c) or (a and c)Sum = (a and b and c) or (a and (not b) and (not c)) \or ((not a) and b and (not c)) or ((not a) and (not b) and c)return Carry, Sum#<程序:完整的加法器 Carry Ripple adder>
def  add(x,y): # x, y are lists of True or False, c is True or False# return carry and a list of x+ywhile len(x) < len(y): x = [False]+x    #前面补0while len(y) < len(x): y = [False]+y    #前面补0L=[];Carry=Falsefor i in range(len(x)-1,-1,-1):  #从最后一位一个个往前加Carry,Sum=FA(x[i],y[i],Carry)L=L+[Sum]return (Carry, L)#<程序:乘法器>
def multiplier(x,y):    # 求x*yS=[];for i in range(len(y)-1,-1,-1):if y[i] == True:       #y[i]是 1,要将x加进到SC, S=add(S,x)if C==True: S=[C]+Sx=x+[False]           #每一次x都要向左移一位,后面补0return(S)

python学习实例(2)相关推荐

  1. 涵盖 14 大主题!最完整的 Python 学习实例集来了!

    机器学习.深度学习最简单的入门方式就是基于 Python 开始编程实战.最近闲逛 GitHub,发现了一个非常不错的 Python 学习实例集,完全是基于 Python 来实现包括 ML.DL 等领域 ...

  2. python学习实例(6)

    #============================= #6.6 文件系统(File System) #=============================#+++++++++++++++ ...

  3. python学习实例(4)

    #========================================= #第四章的python程序 #=========================================# ...

  4. python学习实例(7)

    #========================================================= #第8章 信息安全(Information Security)的python程序 ...

  5. python学习实例(3)

    #=================================== #3.4 关于Python的函数调用 #===================================#+++++++ ...

  6. python学习实例(1)

    #====================================== #1.2 计算机编程的基本概念 #======================================#++++ ...

  7. python学习实例(5)

    #============================================ #5.1 计算思维是什么 #======================================== ...

  8. Python学习实例(一)温度转换

    1.问题描述 温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit).‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪ ...

  9. python学习笔记-练手实例

    1.题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列 代码: for i in range(1,10):print ('\r')for j in range(1 ...

最新文章

  1. ClickHouse系列教程三:MergeTree引擎分析
  2. Web跨浏览器进程通信
  3. java string s_Java字符串:“String s=新字符串(”愚蠢“);
  4. 1.5编程基础之循环控制 17:菲波那契数列--刘昕源-2019-06-23
  5. 面试 之 git工作流
  6. 《精通JavaScript》总结
  7. SpringCloud微服务快速入坑
  8. mac为什么不支持ntfs,mac读取ntfs移动硬盘软件有哪些
  9. 酷比魔方iplay20_酷比魔方iPlay20Pro配置怎么样?iPlay20Pro处理器性能全面评测
  10. 笔记本不小心网络重置后,不能上网,网络适配器存在感叹号
  11. java实现倒计时_Java实现倒计时代码
  12. [蓝桥杯解题报告]第九届蓝桥杯大赛省赛2018(软件类)真题C++A组 Apare_xzc
  13. [yishen] 小慕读书web端学习笔记
  14. 安装nginx,php8,nfs,oralce19c客户端
  15. 微信退款回调AES算法(AES-256-ECB)
  16. 谈我们的团队文化建设
  17. teamviewer被检测为商业用途解决方法
  18. Mac将应用程序及其数据移到外接硬盘的步骤 #替身 #软链接
  19. android室内定位传感器辅助pdr jar,基于Android的PDR和WiFi指纹融合室内定位技术研究...
  20. Modbus编程实践

热门文章

  1. 计算机如何用vb文本加密,信息加密与隐藏工具的设计与实现VB231
  2. UE4打包后如何调试
  3. Linux下boost库的安装
  4. 待办事项桌面插件_让浏览器重获整洁——标签页管理插件:OneTabOneTab PlusToby...
  5. java 日志设计_Java日志设计实践(3) - 开发篇
  6. sklearn 绘制roc曲线_如何用Tensorflow和scikit-learn绘制ROC曲线?
  7. 【转】使用websocket-sharp来创建c#版本的websocket服务
  8. ABP入门系列(16)——通过webapi与系统进行交互
  9. vscode怎么自动将px转换成vw_基于react/vue移动端适配之px自动转rem、vw
  10. matlab绘制球面模型_MATLAB采用surf/surfc/surfl/surfnorm绘制球体