Python 迭代用户输入并转换为二进制
我正在做一个二进制计数器程序。我需要它来打印十进制等价物和相应的二进制等价物 到目前为止,我已经设法做到了这一点,但我需要将二进制文件从0转换为用户输入值,我一直在使用它,但我无法理解:非常感谢您的帮助:) 从这个代码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
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'))