python - 无法让二进制代码在循环中复制
问题描述
首先,我通常是编码新手,这是我第一次寻求帮助的帖子之一,如果我遗漏了任何内容,很抱歉。我正在用python编写代码以获得以下输出:
Please enter number: 10
Decimal: 1 = binary: 1
Decimal: 2 = binary: 10
Decimal: 3 = binary: 11
Decimal: 4 = binary: 100
Decimal: 5 = binary: 101
Decimal: 6 = binary: 110
Decimal: 7 = binary: 111
Decimal: 8 = binary: 1000
Decimal: 9 = binary: 1001
Decimal: 10 = binary: 1010
我已经被困了很长一段时间,并认为我最好的选择是在这里问。
rqn3=int(input("Please enter a number: "))
while decimal < rqn3:
for decimal in range(1, rqn3+1):
remainder = rqn3 % 2
rqn3 = rqn3 // 2
answer = str(remainder) + answer
decimal+1
print("Decimal:",decimal ,"= binary:",answer)
decimal+1
导致:
Please enter a number: 2
Decimal: 1 = binary: 0
Decimal: 2 = binary: 10
解决方案
所以你有很多选择。
可能最简单的方法就是这样做:
rqn3 = int(input("Please enter a number: "))
for i in range(1, rqn3 + 1):
print(f'Decimal: {i} = binary: {i:b}')
输出:
请输入数字:10 十进制:1 = 二进制:1 十进制:2 = 二进制:10 十进制:3 = 二进制:11 十进制:4 = 二进制:100 十进制:5 = 二进制:101 十进制:6 = 二进制:110 十进制:7 = 二进制:111 十进制:8 = 二进制:1000 十进制:9 = 二进制:1001 十进制:10 = 二进制:1010
假设您想自己进行计算,您可以使用divmod:
rqn3 = int(input("Please enter a number: "))
for i in range(1, rqn3 + 1):
num = i
result = ""
while num != 0:
num, r = divmod(num, 2)
result = str(r) + result
print(f'Decimal: {i} = binary: {result}')
(输出同上)
你的问题是你的循环有问题。该循环为while
数字生成二进制文件,因此它应该是您的内部循环。您的循环正在提供要处理的值。for
推荐阅读
- php - 无法打开邮箱:远程规范无效
- c# - WPF Tabcontrol 具有用于 tabitems 的扩展器功能
- python - Prometheus - 在抓取之前覆盖具有不同标签的相同指标
- docker - 限制单个 GPU 上 tensorflow 的资源
- javascript - 如何在 DataTable 数据中添加前导零
- google-chrome-extension - 从外部 html 向 chrome 扩展主机发送消息
- php - 用户注册后验证电子邮件,laravel
- go - 如何转储正在运行的 kubelet 的 goroutines 堆栈竞赛
- python - 如何在 Python 中从 Excel 中返回 PrintArea
- reactjs - 在 Babel 中配置内联图像导入