python中定义的字符获取名称错误



我对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 

相关内容

最新更新