我试图用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)
答案 0 :(得分:0)
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
答案 1 :(得分:0)
二进制到十进制转换背后的理论是每个数字代表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
答案 2 :(得分:0)
你必须在Python中声明一个过程,如[here](http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/functions.html)
所示e.g。 def bin2dec(number): 你的代码