python入门问题
十进制转换二进制:def deci(num):
num = str(num)
get = tuple(num)
reversed(get)
answer = 0
for i in range(len(get)):
n = int(get)
answer = n*(2**i) + answer
return answer
print(deci(100))
为什么结果是1? 在进入循环之前打印一下get的值,看看是否是期望值 这步reversed(get)没有起作用,反转后没有赋值给一个变量。
def deci(num):
num = str(num)
get = list(num)
get.reverse()
answer = 0
for i in range(len(get)):
n = int(get)
answer = n*(2**i) + answer
return answer
print(deci(100)) 建议你Debug一下,就会发现n在第一次时为1,后面的两次都为0。
页:
[1]