关于:十进制转换为二进制,递归
本帖最后由 Peteryo01223 于 2020-9-28 13:56 编辑原题目:
使用递归编写一个十进制转换为二进制的函数(要求采用“除2取余”的方式,结果与调用bin()一样返回字符串形式)。
标准答案之一:
def Dec2Bin(dec):
result = ''
if dec:
result = Dec2Bin(dec//2)
return result + str(dec%2)
else:
return result
print(Dec2Bin(62))
我的问题:
1. result = ''是不是 result=0 的意思啊?这个‘’的表述,没见过。
2. 双除号,dec//2,这是什么意思?不是转义吧? 单纯的看你代码跟上面的代码对比
有一个地方,在 if 判断那里
你的:return result + str(n/2)
你说的标准的:return result + str(n%2) LuLD 发表于 2020-9-28 13:53
单纯的看你代码跟上面的代码对比
有一个地方,在 if 判断那里
谢谢。
多问两个问题:
1. result = ''是不是 result=0 的意思啊?这个‘’的表述,没见过。
2. 双除号,dec//2,这是什么意思?不是转义吧? Peteryo01223 发表于 2020-9-28 13:56
谢谢。
多问两个问题:
1.result='',''空字符的意思,将 空字符赋值给 result
2.
// 取整除 - 返回商的整数部分(向下取整)
>>> 9//2
4
>>> -9//2
-5 LuLD 发表于 2020-9-28 14:00
1.result='',''空字符的意思,将 空字符赋值给 result
2.
// 取整除 - 返回商的整数部分(向下取整 ...
牛
页:
[1]