Сравнение каждого символа в двух строках и увеличение: Python - PullRequest
0 голосов
/ 28 февраля 2019
for x in predRslt:
    for y in actRslt:
        if x == y and x =='1':
            trueP += 1
        elif x == y and x =='0':
            trueN += 1
        elif x != y and x == '1':
            falseN += 1      
        elif x != y and x == '0':
            falseP += 1

    charNum += 1
totalActN = trueN + falseP
totalActP = falseN + trueP
totalPredN = trueN + falseN
totalPredP = trueP + falseP

print falseP

cmp_rslt ('0110101001', '1100100101')

фактический вывод: 25

ожидаемый вывод: 2

Я пытаюсь последовательно пройти каждую строкус самого начала и сравните результаты.Затем увеличьте значение соответствующего TrueN, TrueP, FalseN или FalseP.

по какой-то причине я продолжаю получать значение 25, когда я должен получить намного меньше, чем это, потому что есть только 10 сравнений, которые я должен сделать

1 Ответ

0 голосов
/ 28 февраля 2019

вы должны выполнить итерацию, используя индекс первой строки, например:

for idx, x in enumerate(predRslt);
    y = actRslt[idx]

    if x == y and x =='1':         
        trueP += 1
    elif x == y and x =='0':
        trueN += 1
    elif x != y and x == '1':
        falseN += 1      
    elif x != y and x == '0':
        falseP += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...