百科问答小站 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如何理解map,reduce,filter? 
  为什么国内每天都在说 Python 有多好,真正招聘的时候却不需要呢? 
  为什么自学Python看不进去? 
  python适合什么年龄自学? 
  Python函数中*和**的内涵究竟是什么呢? 
  你都用 Python 来做什么? 
  学会Python后好就业吗? 
  你写过哪些真正生产可用的 Python 装饰器? 
  在线教育网站(Coursera、网易云课堂、腾讯课堂等)有哪些值得推荐的 Python 课程? 
  python到底学什么? 

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





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