[Python] when two strings are compared with an equality of '==' and they are equally the same,...

Discussão em 'Python' iniciado por Stack, Janeiro 21, 2025.

  1. Stack

    Stack Membro Participativo

    In the code provided, in the section where the bottom code is found, the compiler never enters the if statement even though both strings are equally the same.

    if(pattern == text[i:i + len(pattern) - 1]):
    print("true")


    def PatternCount(text, pattern):
    count = 0
    i = 0
    """print("++++++++++")
    print(type(text))
    print(type(pattern))
    print("+++++++++")"""
    for i in range(len(text) - len(pattern) + 1):
    print(i)
    print((text[i:i + len(pattern) - 1] ))
    print((pattern))
    if(pattern == text[i:i + len(pattern) - 1]):
    print("true")
    if(text[i:i + len(pattern) - 1] == pattern):
    count = count + 1
    print(count)
    return count


    i = 1
    for i in range(1, 8):
    i = str(i)
    Text = open("input_" + i + ".txt", "r")

    #for k in range(2):
    #line = Text.readline()
    #masterText = Text.readline()
    masterText = Text.readline()
    while(masterText != ""):

    for k in range(2):
    #print(k)
    if(k == 0):
    text = masterText
    #print(text)
    elif (k == 1):
    pattern = Text.readline()
    # print(pattern)
    masterText = ""

    print(text)
    print(pattern)
    #Pattern = open("output_" + i + ".txt", "r")
    #Pattern = Pattern.read()
    #print(text)
    #print(pattern)



    print(PatternCount(text, pattern))
    print("------------------------------------")
    i = int(i)
    i = i + 1


    I tried to debug it by entering print statements and seeing the steps of the compiler, but everything checks out (same data type, equal in string lettering,etc.). I haven't come across something where the qualifier does something like this.

    Input: AGTGGATAAATGGTGGATAAAGGATAAAGGATAAAGGATAAAGGATAAACACGTTCGGGATAAAACTTTAGGGATAAATCTAATAAGAGAAGGCGGGATAAATCGGATAAAGCATGGATAAACCGGATAAAGGATAAAGGGATAAACTCGGATAAAGGATAAAGGCCATGGATAAACGGGATAAATCTTGATGGATAAACCAATGGATAAATCGGATAAAGAGGATAAAGGATAAAGTGAATGGGATAAAGTCAGTGGATAAAGGATAAAGGGATAAATTGGGATAAATGGATAAATGGGATAAATCATGGATAAAATAGGATAAAATGGGATAAACAGGATAAAGGATAAAGTGAGGATAAAGGATAAAGGATAAACGGACTGGATAAAAGAAGGGATAAAGGATAAACAGGATAAAGGATAAAGGGTGGATAAAGGATAAAGGATAAAGGATAAACCGGATAAAAGGATAAAGGGATAAACTGGATAAATCAGGGATAAAAGGAGCGGGATAAAGGATAAATTAGGGATAAATCTATAAGTGGATAAACATTGGATAAATCGGGATAAAAGGATAAAGGATAAAAGGATAAATGGATAAAGGATAAAGGGATAAACTGGATAAAGGGGATAAACCGGATAAAAGGATAAAAGGATAAAATATGGATAAAGGATAAAAAGGATAAACAGGAATTTTGAGGATAAACGGTGGATAAAGTACGTTTGTAAGGGATAAATTGAGCTTGGATAAACGGATAAAGGATAAAGGATAAAACAAGGATAAAAGAGGATAAATGATATGTACCGCTCTGCTGGATAAAAAATCACGGATAAAGGATAAAAGAGGATAAACGGATAAAGGATAAAGGATAAAGGGATAAAAGCTCCATGGATAAACGGATAAAAGGATAAACATGGATAAACTCGCGCGGATAAAGGGATAAAGGATAAATAAGGAGGATAAAGTTGGATAAAGGATAAAGGGCGGATAAAAAGGATAAAGCCGGATAAAGGATAAATGGGATAAA GGATAAAGG

    Output: 25

    Continue reading...

Compartilhe esta Página