有没有办法让这个代码更有效,更小?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法让这个代码更有效,更小?相关的知识,希望对你有一定的参考价值。
我刚刚编写了这个代码,用于将十进制转换为二进制,使用除以2的方法。它工作得很好,但我只是想知道是否有办法让它更有效,更容易阅读。
def binary(d):
stop = False
c = []
while stop == False:
b = d%2
if b == 0:
d = d/2
else:
d = d/2
b = 1
c.append(b)
if d == 1:
c.append(1)
stop = True
c.reverse()
c="".join(map(str,c))
return(c)
d = int(input("enter number:"))
print(binary(d))
(我刚开始学习python)
答案
你应该使用bin()
或format()
num = 42
print bin(num)
# 0b101010
print "{0:#b}".format(num)
# 0b101010
print "{0:b}".format(num)
# 101010
另一答案
您可以使用这种简单的方法。
x=10
bin(x)
它将为您提供数字10的二进制形式。它将返回'0b1010',非常简单。尝试一下,如果您遇到任何问题,只需回复即可。请享用:)
如您所愿,我优化了代码,通过在代码中保持逻辑完整来使用一些快捷方式。
def binary(decimal):
temp = []
while True:
binary_num = 0 if decimal % 2 == 0 else 1
decimal = int(decimal / 2)
temp.append(binary_num)
if int(decimal) == 1:
temp.append(1)
break
return "".join(map(str, temp.reverse()))
DECIMAL = int(input("enter number:"))
print(binary(DECIMAL))
以上是关于有没有办法让这个代码更有效,更小?的主要内容,如果未能解决你的问题,请参考以下文章
七个办法只有一个有效:200 PORT command successful. Consider using PASV.425 Failed to establish connection.(代码片段