大佬求帮助
def temp(x):list = []
while x != 0:
t = x % 2
x = int(x/2)
list . append(t)
print(list)
#他报错 是出现<class 'list'>这个
程序目的是 编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结果与调用 bin() 一样返回字符串形式 列表命名要避开list
你这样会覆盖掉list方法,造成报错 1,变量命名最好不要用内置的关键字
2,函数定义不代表调用,你得调用
3,局部变量无法在外部访问 昨非 发表于 2021-4-9 19:08
列表命名要避开list
你这样会覆盖掉list方法,造成报错
def temp(x):
guess = []
while x:
t = x % 2
x = int(x/2)
guess . append(t)
print(temp(200))
大佬 我给他换了之后可是我的结果出现了 这个None 帅气小哥 发表于 2021-4-9 19:48
def temp(x):
guess = []
while x:
函数缺少返回值啊
而且用列表的话会造成二进制0,1的顺序颠倒,可以考虑改成字符串
def Dec2Bin(dec):
result = ''
if dec:
result = Dec2Bin(dec // 2) #每取余得到二进制的一位,递归的参数就地板除二,直到dec为0为止,说明各位已取完
return result + str(dec % 2) #取余2得到的余数为二进制各位的倒序,依次以字符串的形式拼接在一起,相当于正序
else:
return result #返回正序二进制字符串
print(Dec2Bin(200))#打印出返回值 昨非 发表于 2021-4-9 19:51
函数缺少返回值啊
1. 函数缺少返回值?这个什么意思啊?
2. 直接把值先正序放到列表里 然后在把列表倒序 在打印这个列表不就好了吗
3. 那个 if函数的我也没看懂dec//2 前面为啥加上Dec2Bin 帅气小哥 发表于 2021-4-9 20:04
1. 函数缺少返回值?这个什么意思啊?
2. 直接把值先正序放到列表里 然后在把列表倒序 在打印这个列表 ...
这是递归调用,后面会学到的 昨非 发表于 2021-4-9 22:08
这是递归调用,后面会学到的
感谢 大佬
页:
[1]