作业中断,求助。。。
作业要求编写一个函数,达到跟bin一样的效果,我看半天也没看出我这代码有啥问题,求助。。{:10_254:}def baseconversion(num1):
num2 = 1
while num2 >= 0:
num2 = num1//2
num3 = num1%2
list1 = []
list1.append(str(num3))
if num2 != 0:
num1 = num2
continue
else:
str1 = ''
for i in list1:
str1 += i
print(str1)
continue
break
>>> baseconversion(5)
1{:10_266:} {:10_266:} 你把list1 = []放在了while循环里面,那么每次循环都会把列表清空,最终只放最后一次循环时加入列表里的那个值,其他都没了。 本帖最后由 yexing 于 2020-3-25 14:22 编辑
def baseconversion(num1):
num2 = num1
list1 = []
while num2 > 0:
num3 = num2%2
num2 = num2//2
list1.append(str(num3))
list1.append('0')
str1 = ""
for i in list1:
str1 += i
str1 = str1.zfill(8)
return str1
把list1放到外面,不然每次循环都会被清空
BTW:列表,字典什么的是没有局部全局这一说的(除非同名)!
页:
[1]