Кто-нибудь знает, почему я получаю эту ошибку атрибута в своей программе преобразования десятичной базы python?

#python #python-3.x

Вопрос:

Таковы инструкции к упражнению.

В convert.py, определите функцию decimalToRep, которая возвращает представление целого числа в заданной базе.

Два аргумента должны быть целым числом и основанием. Функция должна возвращать строку. Он должен использовать таблицу поиска, которая связывает целые числа с цифрами. Была предоставлена основная функция, которая проверяет функцию преобразования с числами в нескольких базах.

Когда я запускаю приведенный ниже код, я получаю правильные результаты.

 def decimalToRep(num,base1): 
    base = ""
    while num > 0:
        one = int(num % base1)
        if one < 10:
            base  = str(one)
        else:
            base  = chr(ord('A') one-10)  
        num //= base1
    base = base[::-1]  
    return base
def main():
    """Tests the function."""
    print(decimalToRep(10, 10))
    print(decimalToRep(10, 8))
    print(decimalToRep(10, 2))
    print(decimalToRep(10, 16))

if __name__ == "__main__":
    main()
 

Однако упражнение выполняется в тестовой программе, и при тестировании я получаю эту ошибку

 Traceback (most recent call last):
  File "nt-test-1dee69b1", line 3, in <module>
    assert(convert.decimalToRep(16, 16) == "10")
AttributeError: module 'convert' has no attribute 'decimalToRep'
 

Это содержимое теста:

 
assert(convert.decimalToRep(16, 16) == "10")
 

Я в растерянности, я не знаю, почему я получаю ошибку. Это была обычная проблема с этой тестовой программой. Даже если я получу результат, он не будет работать, если это не совсем так, как программа ожидает, что он будет написан. Спасибо.

Комментарии:

1. Нет, это моя ошибка. Когда я вставлял его сюда, я не заметил, что он так выглядел. decimalToRep Функция имеет отступ на том же уровне, что и основная. Это должно быть исправлено сейчас. Спасибо, что указали на это.

2. Вы уверены , что ваш файл точно назван convert.py и что вы действительно сохранили свои изменения на диске?

3. Я только что дважды проверил. Это исправило ситуацию. Обычно я запускаю несколько тестовых файлов с ненужными именами, чтобы поэкспериментировать с различными способами их написания, поэтому я об этом не подумал. Огромное спасибо.

4. Как выглядит файл тестовой функции?