Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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/4/regex/20.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 - Fatal编程技术网

Python 我不知道';我不知道如何加两个数字

Python 我不知道';我不知道如何加两个数字,python,Python,我该怎么做,这样我就可以把两个二进制数加起来,它只让我把一个放进去,然后它只给我第一个的二进制表示 我真的需要知道如何做到这一点。不太确定这是否是您想要的: num1 = bin(input()) num2 = bin(input()) answer = int(num1 ,2) + int(num2,2) print (bin(answer)) [2:] input ("press enter to finish") 用法示例: #! /usr/bin/python3.2 prin

我该怎么做,这样我就可以把两个二进制数加起来,它只让我把一个放进去,然后它只给我第一个的二进制表示


我真的需要知道如何做到这一点。

不太确定这是否是您想要的:

num1 = bin(input())
num2 = bin(input())

answer = int(num1 ,2)  + int(num2,2)

print (bin(answer)) [2:]

input ("press enter to finish")
用法示例:

#! /usr/bin/python3.2

print (bin(int(input('>> '), 2) + int(input('>> '), 2))[2:])
此解决方案假定您使用的是Python2.x。现在还不清楚情况是否如此

  • 您似乎未正确使用
    bin()
    。您只需要在将整数转换为二进制字符串时使用它
  • 您想使用
    raw\u input()
    而不是
    input()
    。后者将尝试将输入自动转换为您不想要的数字
因此:


我想我会这样做:

num1 = int(raw_input(), 2)
num2 = int(raw_input(), 2)

answer = num1 + num2

print bin(answer)[2:]
在Python 2或3上,例如:

from __future__ import print_function
import sys

if sys.version_info[0]==2: input=raw_input

def get_bin(txt):
    while True:
        s=input(txt)
        try:
            return int(s, 2)
        except ValueError:
            print('"{}" is not a valid binary number'.format(s))

li=[]              
for i in range(1,3):
    li.append(get_bin('Enter bin number {} >>> '.format(i)))   

ans=sum(li)
w=len(bin(ans))
for i, e in enumerate(li):
    op='+' if i else ' '
    print('{}{:{w}b}'.format(op,e,w=w))   

print(' ','='*w)  
print(' {:{w}b}'.format(ans,w=w))  
再次声明:如果您使用的是Python2,而不是Python3,那么您的代码就根本无法工作。您确定使用的是Python 3吗?如果是这样的话,你怎么没有得到这里的
TypeError
s?你的代码。您为代码提供了什么输入?你看到了什么输出?您希望看到什么样的输出?
from __future__ import print_function
import sys

if sys.version_info[0]==2: input=raw_input

def get_bin(txt):
    while True:
        s=input(txt)
        try:
            return int(s, 2)
        except ValueError:
            print('"{}" is not a valid binary number'.format(s))

li=[]              
for i in range(1,3):
    li.append(get_bin('Enter bin number {} >>> '.format(i)))   

ans=sum(li)
w=len(bin(ans))
for i, e in enumerate(li):
    op='+' if i else ' '
    print('{}{:{w}b}'.format(op,e,w=w))   

print(' ','='*w)  
print(' {:{w}b}'.format(ans,w=w))  
Enter bin number 1 >>> 111111
Enter bin number 2 >>> 11
    111111
+       11
  =========
   1000010