python - 递归地将 int 转换为二进制 (Python)
问题描述
对于以下内容,我必须将 int 转换为二进制字符串。我有一些限制,我不能更改前两行,此外,我必须返回 10^a 的二进制表示,其中 a 是输入 int。我尝试了以下方法,但它没有按应有的方式工作。此外,解决方案需要是递归的。请帮助某人。
{int} -> {str} 返回 10^a 的二进制字符串
def converttobin(a: int) -> str:
if a == 1:
return "0b1010"
else:
return converttobin(10^a//2) + str(a % 2)
解决方案
递归-检查,包括前两行-检查。这有点愚蠢,但约束也是......
def converttobin(a: int) -> str:
if a == 1:
return "0b1010"
else:
converttobin(1)
return bin(10**a)
推荐阅读
- autodesk-forge - Forge viewer - fitToView 在本地运行并加载本地源模型时
- cs50 - 值之间的差异以及代码如何读取 CS50 中的值
- sql - 谁能帮我解决这个 SQL 代码错误?
- amazon-web-services - CDK 将映射模板添加到 LambdaIntegration
- python - 如何最好地实现对此类的每个对象都不同的类方法
- unity3d - 在 Unity3D Fps Microgame 模板中向玩家注视的方向发射射弹
- python-3.x - 如何修复 python tkinter 上的按钮位置?
- python - 使用 Python Selenium 抓取空的 Web 元素时出现 TimeoutException
- python - Google: google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
- angular - 在 ModuleWithProviders 中注册时忽略 ROUTES 提供程序