python二进制转十进制不用内置函数,Python:不使用内置函数的二进制计数

I have been having some trouble recently with creating a program that counts in binary from 1 to the chosen number.

This is my code at the moment:

num6 = 1

binStr = ''

num5 = input('Please enter a number to be counted to:')

while num5 != num6:

binStr = str(num6 % 2) + binStr

num6 //= 2

num6 = num6 + 1

print(binStr)

For example, if I input 5, it needs to go 1, 10, 11, 100, 101.

I just can't seem to get the hang of it. Any help will be appreciated, thanks.

解决方案

The issue is that you're dividing num6 which has nothing to do with the input number. You don't need to keep count of how many times you divide so you can just divide num5 by two and take the remainder. I put your binary_to_string inside of a function and call it for each number to your input value:

num5 = int(input('Please enter a number to be counted to:'))

for i in range(num5 + 1):

binStr = ""

decimal_number = i

while decimal_number > 0:

binStr = str(decimal_number % 2) + binStr

decimal_number //= 2

print(binStr)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值