Python:不使用内置函数的二进制计数 [英] Python: Binary Counting without using inbuilt functions

查看:235
本文介绍了Python:不使用内置函数的二进制计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我在创建一个从1到所选数字的二进制数的程序时遇到了一些麻烦.

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

这是我目前的代码:

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)

例如,如果我输入5,则需要输入1、10、11、100、101. 我似乎无法理解它.任何帮助将不胜感激,谢谢.

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.

推荐答案

问题是您要分割num6,这与输入数字无关.您无需记数除法的次数,因此您可以将num5除以2,然后取余数.我将您的binary_to_string放在函数内,并为每个数字调用它作为您的输入值:

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)

这篇关于Python:不使用内置函数的二进制计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆