我对python很陌生,正在尝试为class运行一些代码,但我遇到了一个奇怪的错误,我只是为n和k输入了一个随机值,看看代码是否能在中工作
$python main.py
Traceback (most recent call last):
File "main.py", line 10, in <module>
while(k):
NameError: name 'k' is not defined
这是我的代码,我已经定义了n,n工作没有问题,但k似乎是一个问题
def binary(n,k):
n = 6
k = 1.5
#'n' is the fractional number
#'k' is the number of bits up to the loop ;
integral = int(n)
fraction = n-integral
b = '.'
while(k):
fraction = fraction * 2
fra_num = int(fraction)
if (frac_num == 1):
fraction = fraction - frac_num
b = b + '1'
else:
b = b + '0'
k = k - 1
print b
如前所述,这里最大的问题是缩进。while循环不在函数内。试试这个压痕:
def binary(n,k):
n = 6
k = 1.5
#'n' is the fractional number
#'k' is the number of bits up to the loop ;
integral = int(n)
fraction = n-integral
b = '.'
while(k):
fraction = fraction * 2
fra_num = int(fraction)
if (frac_num == 1):
fraction = fraction - frac_num
b = b + '1'
else:
b = b + '0'
k = k - 1
print b