【发布时间】:2017-12-06 14:16:56
【问题描述】:
我正在 Python 3,6 中编写一个 Python 代码,它将提示用户输入 2 个小数(最多 255)或一个 8 位二进制数并转换为十进制,让用户输入 2 个标准十进制数是没问题,让他们输入二进制数也一样,但是一旦我打印二进制转换,它会显示每个二进制数,直到十进制对应的数字,假设我输入 11111111,它会显示,1, 3、7、15、31 等到 255
def add2():
binary = input('enter a number in binary: ')
decimal = 0
for digit in binary:
decimal= decimal*2 + int(digit)
print ("This is the decimal equivalent" , decimal,)
这是打印结果:
这就是我的代码,我将附上打印计算的样子的图片。在图像中您可以看到它打印了 8 次,每个位最多 255,实际上我只是希望代码打印相应的十进制整数,到用户输入的位,例如,如果他们输入 11111111,就打印 255。
【问题讨论】:
-
缩进在 python 中很重要。您的 print 缩进为 for 循环的一部分,因此它会在每次迭代时打印。将其移至外层,它只会打印一次。
标签: python