议程:
简单地说,我想把二进制数改成十进制数,我知道Python有实现这个目标的内置函数,但我想用代码手动实现
问题:
我陷入了从用长度用户输入创建的列表中提取元素的困境,它只从我用长度用户输入创建的列表中给我一个值
我的代码:
user_input = int(input("Enter the binary number "))
change_user_input_to_list = [int(x) for x in str(user_input) ]
# print(type(change_user_input_to_list))
# print(len(change_user_input_to_list))
length_of_user_input = len(change_user_input_to_list)
list_created_with_length_of_user_input = []
for i in range(length_of_user_input):
calculation_for_making_list_with_length_of_user_input = 2**i
list_created_with_length_of_user_input.append(calculation_for_making_list_with_length_of_user_input)
print(list_created_with_length_of_user_input)
result =0
coun = 0
#problem is here
while coun <length_of_user_input:
if list_created_with_length_of_user_input[coun]==1:
print(list_created_with_length_of_user_input[coun])
coun= coun+1
print(result)
我们需要检查
if change_user_input_to_list[coun]==1:
,而不是if list_created_with_length_of_user_input[coun]==1:
。你知道吗更改最少的代码:
注:
如果输入是
10111
,那么代码将把反向二进制数11101
转换成十进制数29
。你知道吗这是将二进制转换成十进制的最简单方法,希望它能像您期望的那样工作
相关问题 更多 >
编程相关推荐