dimanche 4 octobre 2020

Why is my if statements not working to change a string? [closed]

#encryption program
#By Eshan Tahir
#Age 13
#10:20PM February 23rd, 2020
#librarys
#finished on 10/3 10:14 pm i took a break from the project but decided to finish it 8 months later, i simply have to fix the timer,

and the letters . and maybe add more features. import time #Start #variables

encryptedMessage_1=""
encryptedMessage_2=""
encryptedMessage_3=""
userMessage=input("Message here: ")
shift=5
#function
FIRST= set(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U"])
SECOND = set(["v","w","x","y","z","V","W","X","Y","Z"])
THIRD= set([" ",".",",","/","?",":","'",";","]","}","[","{","=","+","-","_",")","(","<",">","`","~","!","@","$","%","^","&","&","*"])
#step1
def encrypt_step1():
    for character in userMessage:
        #9:03AM February 24th, 2020
        #global search
        global encryptedMessage_1
        #opposite letter
        #lowercase
        if character == "a": character="z"
        elif character =="z": character="a"
        elif character =="b": character="y"
        elif character =="c": character="x"
        elif character =="x":character="c"
        elif character =="d":character="w"
        elif character =="w":character="d"
        elif character =="e":character="v"
        elif character =="v":character="e"
        elif character =="f":character="u"
        elif character =="u":character="f"
        elif character =="g":character="t"
        elif character =="t":character="g"
        elif character =="h":character="s"
        elif character =="s":character="h"
        elif character =="i":character="r"
        elif character =="r":character="i"
        elif character =="j":character="q"
        elif character =="q":character="j"
        elif character =="k":character="p"
        elif character =="p":character="k"
        elif character =="l":character="o"
        elif character =="o":character="l"
        elif character =="m":character="n"
        elif character =="n":character="m"
        #uppercase
        if character == "A": character="Z"
        elif character =="Z": character="A"
        elif character =="B": character="Y"
        elif character =="C": character="X"
        elif character =="X":character="C"
        elif character =="D":character="W"
        elif character =="W":character="D"
        elif character =="E":character="V"
        elif character =="V":character="E"
        elif character =="F":character="U"
        elif character =="U":character="F"
        elif character =="G":character="T"
        elif character =="T":character="G"
        elif character =="H":character="S"
        elif character =="S":character="H"
        elif character =="I":character="R"
        elif character =="R":character="I"
        elif character =="J":character="Q"
        elif character =="Q":character="J"
        elif character =="K":character="P"
        elif character =="P":character="K"
        elif character =="L":character="O"
        elif character =="O":character="L"
        elif character =="M":character="N"
        elif character =="N":character="M"
        #bugged characters
        #b returns y, but y returns y.
        else: character ==character
        encryptedMessage_1+=character
            
#step2
def encrypt_step2():
    
    #for loop
    for character in encryptedMessage_1:
        #5:50AM February 24th, 2020
        #looking for global variable
        global encryptedMessage_2
         #letter shift
        if character in FIRST:
            eN = ord(character)
            eN+=shift
            encryptedMessage_2+=chr(eN)  
        #checking for letters that go to random symbols
        #manual letter shift
        elif character in SECOND:
            #lower case
            if character=="v": character="a"
            elif character=="w": character="b"
            elif character=="x": character="c"
            elif character=="y": character="d"
            elif character=="z": character="e"
            else: character==character 
            #upper case
            if character=="V": character="A"
            elif character=="W": character="B"
            elif character=="X": character="C"
            elif character=="Y": character="D"
            elif character=="Z": character="E"
            else: character==character
            encryptedMessage_2+=character
        elif character in THIRD:
            character==character
            encryptedMessage_2+=character
        #bugged characters d and b.
i="10"
i=int(i)
encrypt_step1()            
encrypt_step2()

print("Encrypted text: "+encryptedMessage_2)
for i in range(100):
     q1=input("Do you want to encrypt again?: ").lower()
     if q1=="yes":
        encryptedMessage_2=""
        encryptedMessage_1=""
        userMessage=input("Message here: ")
        encrypt_step1()
        encrypt_step2()
        print("Encrypted text: "+encryptedMessage_2)
     else:
        break
for i in range(i):
    time.sleep(1)
    i+=1
    print("in "+str(i)+" second's program will be terminated!!!")

In encryption steps 1 and 2 if you run them separately only certain letters don't work, but together many letters don't work, all the letters were working before but now stopped working correctly, for example in step 1 b returns y but y returns y instead of b.

Aucun commentaire:

Enregistrer un commentaire