我已经问过类似的问题,但仅适用于从 0 到 15 的数字列表。 我想尝试将数字从 0 转换为大于 15 怎么样.这是我到目前为止写的
def base_convert(i, b):
result = []
for i in range(20):
while i > 0:
result.insert(0, i % b)
i = i // b
return result
print(base_convert(i,4))
但我收到错误,说名称"i"未定义。我在这里错过了什么吗?或者也许我写错了代码。谢谢你的回答。
三个问题:
- 当您调用 Morgan 提到的函数时,您尚未定义
i
-
i
是一个输入参数,因此在使用之前不应在函数中覆盖它。 - 您不需要
for
循环。
它应该看起来像下面
一样,测试为 9def base_convert(i, b):
result = []
while i > 0:
result.insert(0, i % b)
i = i // b
return result
print(base_convert(9,4)