我想将一个十进制转换为二进制转换器,但是,我注意到有些值被忽略,最后一个值没有被输入到我创建的列表中。Python:为什么while循环排除第一个值?
#Here we create a new empty list.
binary = []
n = int(input("Enter number: "))
while n > 1:
n = n//2
m = n%2
binary.append(m)
binary.reverse()
print(" ".join(repr(e) for e in binary))
你的条件是'N> 1'。当n是1时会发生什么? – user2357112
如果您打算使用相同的除数来执行除法和模运算,则可以通过使用'divmod'函数一次获得两者来略微提高性能。 – Blckknght
@Blckknght'divmod'没有那么快,它涉及一个函数调用,它通常比使用运算符要慢。但确切的速度差异相当小,并且在不同版本之间有所不同。 –