Algoritme CC

# Krypteringsprogram

# Karakterer som kan krypteres/dekrypteres
karakterer = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅabcdefghijklmnopqrstuvwxyzæøå !?."
max_kar = len(karakterer)


# Funktion som spørger til kryptering/dekryptering
def setup():
    while True:
        print("Ønsker du at kryptere eller dekryptere: ")
        mode = input().lower()
        if mode in ["kryptere", "k", "dekryptere", "d"]:
            return mode
        else:
            print("Skriv enten krypteret, k, dekrypteret eller d")

# Tekst som skal krypteres/dekrypteres
def besked():
    print("Skriv tekst: ")
    return input()

# krytperingsnøglen
def set_key():
    key = 0
    while True:
        print(f"Skriv din nøgle her {-1}".format(max_kar))
        # integer
        key = int(input())
        if(key >=1 and key <= max_kar):
            return key

# Funktionen som krytperer og dekrypterer vores tekst
def kryptering(mode, tekst, key):
    if mode[0] == "d":
        key = -key
    konverter = ""

    for c in tekst:
        # find næste karakter
        k_index = karakterer.find(c)
        if k_index == -1:
            konverter += c
        k_index += key
        if k_index >= len(karakterer):
            k_index -= len(karakterer)
        elif k_index < 0:
            k_index += len(karakterer)

        konverter += karakterer[k_index]

    return konverter
        

mode = setup()
tekst = besked()
key = set_key()
print("Din konverterede tekst er: ")
print(kryptering(mode, tekst, key))