почему это утверждение между двумя строками терпит неудачу?

Я хожу на занятия со Степиком. У меня есть то, что я считаю простым утверждением между двумя строками, которое терпит неудачу. Как еще я могу проверить на равенство? Спасибо, Джим

def weights_to_letters(peptide):
    '''
    take a list of weights and convert to a string of aa letters
    '''
    from Bio.Data.IUPACData import protein_weights
    ret_string = ''
    for weight in peptide:
        for key in protein_weights.keys():
            if weight == round(protein_weights[key] - 18):   # -18 for weight of extra water molecule
                ret_string += str(key)
                break
    return ret_string
def test_weights_to_letters():
    print(type('WDG') , 'WDG', type(weights_to_letters([186,128,113])),     weights_to_letters([186,115,57]))
    assert weights_to_letters([186,128,113]) == 'WDG'

Вот что получается:

<class 'str'> WDG <class 'str'> WDG
Traceback (most recent call last):
  File "C:\Users\Jim\My Documents\GitHub\Stepic-Rosalind\BioAlgWeek2.py", line 238, in <module>
testcode()
  File "C:\Users\Jim\My Documents\GitHub\Stepic-Rosalind\BioAlgWeek2.py", line 228, in testcode
   test_weights_to_letters()
 File "C:\Users\Jim\My Documents\GitHub\Stepic-Rosalind\BioAlgWeek2.py", line 209, in    test_weights_to_letters
assert weights_to_letters([186,128,113]) == 'WDG'
AssertionError

person Jim Smith    schedule 30.10.2014    source источник
comment
Вы печатаете значение этого: weights_to_letters([186,115,57]), но в сравнении вы используете это: weights_to_letters([186,128,113]).   -  person dano    schedule 30.10.2014


Ответы (1)


Похоже, у вас опечатка в первой строке test_weights_to_letters(). Вы передаете [186,115,57] в weights_to_letters, но вы утверждаете weights_to_letters([186,128,113]).

person furkle    schedule 30.10.2014
comment
Это обидно :) - person Jim Smith; 31.10.2014
comment
@JimSmith Но это легко исправить, что намного приятнее! - person furkle; 31.10.2014