In Python 3 versuche ich ein kleines Programm zu schreiben, das eine Phrase oder einen Satz für Sie kodiert und dekodiert. Hier kommt das Problem: Ich bin immer noch sehr neu in Python und brauche etwas Hilfe. Ich möchte, dass das Programm die Wortgruppe in einen Strom von Zahlen umwandelt und mit dem Schlüssel multipliziert, den der Benutzer eingeben wird. Um dann die Phrase zu dekodieren, werden die Zahlen durch die Taste geteilt und wieder in Buchstaben umgewandelt.Konvertieren einer Variablen mit Text in eine Variable mit Zahlen
TL; DR Ich möchte Buchstaben in einer Variablen (Beispiel: Nachricht = hallo hallo) zu Zahlen (A = 1, B = 2 usw., (8,5,12,12,15_8,9)) ändern)), dann in der Lage sein, es wieder zu ändern.
Dies ist das Ganze so weit, so dass Sie meine Spielstärke ein wenig ermessen können:
EorD = input('Encoding or Decoding? E/D: ')
if EorD == "E":
Key = input('Enter a number as your key: ')
Message = input('Enter a message to encode: ')
Encrypt = 1
if EorD == "D":
Key = input('Enter your key: ')
Message = input('Enter a message to decode: ')
Decrypt = 1
Encrypt = 0
import string
if Encrypt == 1:
print('Now encoding...')
elif Decrypt == 1:
print('Now decoding...')
Eine kleine Erklärung, wie ich das schön wäre tun sollte. Ich mache das, um zu lernen, also bitte irgendwelche Lösungen erklären!
Wie würde ich mehrere Zeichen konvertieren? Ich habe alles andere im Griff, also wenn ich das bekomme, dann bin ich fertig! – Gregory
Sie könnten eine Variable erstellen, die Ihre Codes enthält, zB 'codes = []' Sie können eine for-Schleife verwenden, wie 'for character in message: codes.append (ord (character))', die jeden Code für jedes Zeichen hinzufügt zu Ihrer 'codes'-Variable und speichert alle Codes. Dann verbinden Sie das Ergebnis und drucken: '", ".join (codes)'. Eine kompakte Möglichkeit, dies zu tun, ist eine Zeile für Schleife wie von Steven unten vorgeschlagen: '',' .join (str ((ord (c) - delta) * Schlüssel) für c in Text)' – Adam