百科问答小站 logo
百科问答小站 font logo



python中怎么利用len(x)补零? 第1页

  

user avatar   liu-ji-27-94 网友的相关建议: 
      

首先,你的代码对于0的计算有误;其次,使用算数运算不像位运算效率高;另外,使用字符串可以方便一些。以下希望能给你带来启发:

       x = int(input())  # You can also use list Rs = ""  # Or `if x < 0: x += 256` x = (x + 256) % 256  # Shift 8 times: when x equals 0, Rs automatically gets 0 prefix for i in range(8):     Rs = str(x & 1) + Rs     x >>= 1  print(Rs)     

上面这份代码如果想进一步提高效率,可以使用列表,用Rs.insert(0, elem)而不是[elem] + Rs

至于如何在前面自动补零,如果非要用len:

       for i in range(8 - len(Rs)):     Rs.insert(0, 0)     

如果Rs是字符串,可以直接利用format:

       # python --version all print("{:0>8}".format(Rs)) # python --version >= 3.6 print(f"{Rs:0>8}")     

所以,这个程序其实只需要一句话:

                print         (         f         "{(x + 256) % 256:0>8b}"         )            

欢迎关注,有其他问题随时私信讨论~




  

相关话题

  有没有简单一点的 Python 小例子或小项目? 
  在线教育网站(Coursera、网易云课堂、腾讯课堂等)有哪些值得推荐的 Python 课程? 
  你写过哪些真正生产可用的 Python 装饰器? 
  SQL和Python 哪个更容易自学? 
  要学 Python 需要怎样的基础? 
  python怎么跳出with...as? 
  python中怎么利用len(x)补零? 
  知乎上这么多推崇学 Python 入 IT 行的,如果他们学完 Python 这一套找不到工作怎么办? 
  python中[[3,5],[2,3]]怎么转化为[['3','5'],['2','3']]? 
  要学 Python 需要怎样的基础? 

前一个讨论
如何看待中国现代诗歌的发展历程?
下一个讨论
如何评价诗人杨黎以及他的废话理论?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利