我正在尝试制作一个 Python 程序,将二进制数转换为十进制数
I'm trying to make a Python procedure that converts binary numbers to decimal numbers
我正在尝试使用 Python 中的以下代码创建过程:
print "Program for Binary to Decimal Conversion"
dec = 0`enter code here`
bin = 0
factor = 1;
print "Enter Binary Number:",
bin = input()
while(bin > 0):
if( (bin % 10) == 1):
dec += factor
bin /= 10
factor = factor * 2
print "The Decimal Number is: ", dec
它目前在 shell 中运行,询问输入的内容,我想让它像一个程序,这样它就在 python shell 中运行,而不询问任何内容,并且输入行看起来像:
procedure(1110101)
Python中的函数定义如下:
def funcname(args):
# indented code is not optional
# these are comments
例如:
def bin_to_dec(binary):
print "Program for Binary to Decimal Conversion"
dec = 0
factor = 1
while(binary > 0):
if( (binary % 10) == 1):
dec += factor
binary /= 10
factor = factor * 2
print "The Decimal Number is: ", dec
现在你可以这样称呼它了
bin_to_dec(10010110)
我建议做一些基础教程来学习 Python 基础知识。网上有很多。
现在检查一下:
def bin_to_dec(binary):
return int(binary, 2)
>>> print bin_to_dec('10000000')
128
二进制到十进制转换背后的理论是每个数字代表 2 的幂。
所以你可以这样做:
- 将数字作为字符串
-遍历字符串,将数字乘以它所代表的 2 的幂
像这样:
#ex string = 101
def binToDec(string):
binString = str(string).reverse() #reverse to make iteration easier sort of
dec=0;
place=0;
for digit in binString:
dec+= (int(digit))*(2**place)
return dec
您必须在 Python 中声明一个过程,如 [此处] (http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/functions.html)
所示
例如
def bin2dec(数字):
你的代码
我正在尝试使用 Python 中的以下代码创建过程:
print "Program for Binary to Decimal Conversion"
dec = 0`enter code here`
bin = 0
factor = 1;
print "Enter Binary Number:",
bin = input()
while(bin > 0):
if( (bin % 10) == 1):
dec += factor
bin /= 10
factor = factor * 2
print "The Decimal Number is: ", dec
它目前在 shell 中运行,询问输入的内容,我想让它像一个程序,这样它就在 python shell 中运行,而不询问任何内容,并且输入行看起来像:
procedure(1110101)
Python中的函数定义如下:
def funcname(args):
# indented code is not optional
# these are comments
例如:
def bin_to_dec(binary):
print "Program for Binary to Decimal Conversion"
dec = 0
factor = 1
while(binary > 0):
if( (binary % 10) == 1):
dec += factor
binary /= 10
factor = factor * 2
print "The Decimal Number is: ", dec
现在你可以这样称呼它了
bin_to_dec(10010110)
我建议做一些基础教程来学习 Python 基础知识。网上有很多。
现在检查一下:
def bin_to_dec(binary):
return int(binary, 2)
>>> print bin_to_dec('10000000')
128
二进制到十进制转换背后的理论是每个数字代表 2 的幂。 所以你可以这样做: - 将数字作为字符串 -遍历字符串,将数字乘以它所代表的 2 的幂 像这样:
#ex string = 101
def binToDec(string):
binString = str(string).reverse() #reverse to make iteration easier sort of
dec=0;
place=0;
for digit in binString:
dec+= (int(digit))*(2**place)
return dec
您必须在 Python 中声明一个过程,如 [此处] (http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/functions.html)
所示例如 def bin2dec(数字): 你的代码