определенный символ получает ошибки имени в python - PullRequest
1 голос
/ 28 апреля 2020

Я очень плохо знаком с python и пытаюсь запустить какой-то код для класса, однако я получаю странное сообщение об ошибке, я просто вставил случайное значение для 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 

1 Ответ

1 голос
/ 28 апреля 2020

Как прокомментировано, ваша самая большая проблема здесь - это ваш отступ. Ваше время l oop не входит в вашу функцию. Попробуйте это для отступа:

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 
...