Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 迭代用户输入并转换为二进制_Python_Python 3.x - Fatal编程技术网

Python 迭代用户输入并转换为二进制

Python 迭代用户输入并转换为二进制,python,python-3.x,Python,Python 3.x,我正在做一个二进制计数器程序。我需要它来打印十进制等价物和相应的二进制等价物 到目前为止,我已经设法做到了这一点,但我需要将二进制文件从0转换为用户输入值,我一直在使用它,但我无法理解:非常感谢您的帮助:) 从这个代码 dec = input('Please enter number') new_list = [] index = 0 output = '' counter = 0 dec = int(dec) upper_range = int(dec) #for x in range(0

我正在做一个二进制计数器程序。我需要它来打印十进制等价物和相应的二进制等价物

到目前为止,我已经设法做到了这一点,但我需要将二进制文件从0转换为用户输入值,我一直在使用它,但我无法理解:非常感谢您的帮助:)

从这个代码

dec = input('Please enter number')

new_list = []
index = 0
output = ''
counter = 0
dec = int(dec)
upper_range = int(dec)

#for x in range(0,upper_range):



while dec > 0:
        output += str(dec % 2)
        dec = (dec // 2)
output = output[::-1]

new_list.append(output)


while counter < upper_range:
    print('Decimal:', counter + 1, end=' ',)
    print(' = binary:' , *new_list)
    counter = counter + 1
dec=input('请输入数字')
新列表=[]
索引=0
输出=“”
计数器=0
十二月=整数(十二月)
上限范围=整数(十二月)
#对于范围内的x(0,上限范围):
当dec>0时:
输出+=str(12月%2日)
十二月=(十二月二日)
输出=输出[:-1]
新建列表。追加(输出)
当计数器<上限范围时:
打印('十进制:',计数器+1,结束='',)
打印('=二进制:',*新列表)
计数器=计数器+1

您应该在循环内进行十进制到二进制的转换;否则,它仅转换上限值:

dec = input('Please enter number')

counter = 1
upper_range = int(dec)

while counter <= upper_range:
    binary = ''
    dec = counter
    while dec > 0:
        binary += str(dec % 2)
        dec = (dec // 2)
    binary = binary[::-1]
    print('Decimal:', counter, end=' ',)
    print(' = binary:' , binary)
    counter = counter + 1
dec=input('请输入数字')
计数器=1
上限范围=整数(十二月)
而计数器0:
二进制+=str(十二月%2)
十二月=(十二月二日)
二进制=二进制[:-1]
打印('Decimal:',计数器,end='')
打印('=二进制:',二进制)
计数器=计数器+1

我想这可能回答了你的问题。你可以借助内置的bin功能,也可以使用下面的convTobin方法手动完成

    #This is with the help of built-in
    n = int(input())
    for i in range(n+1):
        print('Decimal: ',i,' Binary: ',bin(i).split('b')[1]);

   #This is doing it manually
    n = int(input())

    def convTobin(num):
        if num == 0:
            return '0'
        s = ''
        while num:
            s = str(num&1) + s
            num = num>>1
        return s

    for i in range(n+1):
        print('Deciaml: ',i,'Binary: ',convTobin(i))
n=int(输入(“请输入号码:”)

对于范围(1,n+1)内的i:


'{:04b}'。格式(12)
12
转换为前导零不超过4个字符的二进制字符串:
'1100'
。您可以免费获得该部分…谢谢,但我必须使用代码进行转换,我不能使用内置函数。代码本身也是一次性的,但我希望它从0转换为用户输入:)您只计算一个二进制表示形式。。。用于
dec
的一个。这就是你在
新列表
中的痛处。你应该计算每个
计数器的值。谢谢你给我看,我有很多东西要学。很高兴能帮上忙。如果你认为这个答案是正确的,你能把它标记为接受吗?(单击要接受的问题旁边的灰色复选标记。)
    #This is with the help of built-in
    n = int(input())
    for i in range(n+1):
        print('Decimal: ',i,' Binary: ',bin(i).split('b')[1]);

   #This is doing it manually
    n = int(input())

    def convTobin(num):
        if num == 0:
            return '0'
        s = ''
        while num:
            s = str(num&1) + s
            num = num>>1
        return s

    for i in range(n+1):
        print('Deciaml: ',i,'Binary: ',convTobin(i))
print "Decimal: "+str(i)+" = binary: "+str(format(i,'04b'))