alter python2.7.9 code stürzt ab

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gabriel
User
Beiträge: 3
Registriert: Samstag 13. November 2021, 18:53

Moin an alle,

ich habe ein altes Projekt von mir gefunden, was ich in der 11. Klasse mal geschrieben habe. Das ist mein erster Code gewesen und ich hüte ihn wie einen Schatz. Nun sind schon ein paar Jahre vergangen und ich habe mittlerweile einen neuen Rechner.
Es handelt sich in dem Code um die Vegenère-Verschlüsselung. Am Anfang soll man zwei Input Felder ausfüllen und danach wird einem der Geheimtext ausgegeben. Doch aus irgendeinem Grund bricht das Programm ab sobald ich die Letzte Eingabe betätige. Am Code selbst habe ich nichts verändert und der lief schonmal ganz sicher.

Garantiert sind es nur irgendwelche configurations Probleme an meinem Rechner. Ich habe python 2.7.9 als auch das neuste python 3 installiert. sobald ich die Datei öffne wird oben in der Konsole automatisch die 2.7.9 version angezeigt.

Code: Alles auswählen

# -*- coding: cp1252 -*-
# Schulaufgabe - Die Vegenère-Verschlüsselung
# Gabriel Graf 19.01.2018

from itertools import cycle, izip

print "Verschluesselung nach Vegenere", "\n", "Klartext und Schluesselwoerter zusammenschreiben!", "\n"

n = raw_input("Klartext: ")
p = raw_input("Schlüsselwort: ")

geheimtext = "Geheimtext: "
zeile = []
spalte = []

n = n.lower()
p = p.lower()
schluesselwort_list = list(p)
klartext_list = list(n)
abc = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

for b in range(len(p)):
    schluesselwort = schluesselwort_list[b]
    zeile_w = abc.index( schluesselwort ) 
    zeile.append(zeile_w)

for a in range(len(n)):
    klartext = klartext_list[a]
    spalte_w = abc.index( klartext ) 
    spalte.append(spalte_w)

for p_key, k_key in izip(cycle(zeile), spalte):
    nummer = k_key - p_key 
    if nummer >= 26:
        nummer = nummer - 26
    geheimtext += abc[nummer].upper()

print geheimtext

Wenn mir da jemand kurz auf die Sprünge helfen würde wäre das mega nett.

Vielen Dank im voraus
Gabriel Graf
Sirius3
User
Beiträge: 18278
Registriert: Sonntag 21. Oktober 2012, 17:20

Was heißt "es bricht ab"? Wie startest Du das Programm? Gibt es eine Fehlermeldung? Wie lautet die?
Gabriel
User
Beiträge: 3
Registriert: Samstag 13. November 2021, 18:53

Also ist starte das Programm in dem ich doppelt darauf unter windows Klicke. Wenn du den obigen Code in eine textfile schreibst und die datei typ von .txt auf .py änderst sollte das bei dir auch funktionieren. Oder du speicherst das direkt als .py XD.

Dann öffnet sich bei mir automatisch python2.7.9 in der Konsole.
Ich würde gern ein Bild hochladen aber ich kann hier nur welche verlinken. So und in der Python Konsole werde ich ja wegen den zwei raw_input aufrufen, dazu aufgefordert einen Klartext und ein Schlüsselwort einzutragen.
Nachdem ich dann das zweite mal auf enter drücke schließt sich das Fenster einfach und weg ist es. Daher, nein es gibt keine Fehlermeldung.
Benutzeravatar
pillmuncher
User
Beiträge: 1530
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Starte es in der Konsole und kopiere die Fehlermeldung. Python 2.7 ist tot, das werde ich mir nicht mehr installieren, bloß um irgendwelchen Code auszuprobieren.
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wenn da überhaupt eine Fehlermeldung kommt. Wahrscheinlich kommt da dann einfach der verschlüsselte Text, und bleibt halt auch sichtbar, weil sich das Fenster nicht schliesst. Konsolenprogramme startet man *in einer bestehenden, offenen Konsole* und nicht per Doppelklick.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Gabriel
User
Beiträge: 3
Registriert: Samstag 13. November 2021, 18:53

__blackjack__ hat geschrieben: Sonntag 14. November 2021, 00:44 Wenn da überhaupt eine Fehlermeldung kommt. Wahrscheinlich kommt da dann einfach der verschlüsselte Text, und bleibt halt auch sichtbar, weil sich das Fenster nicht schliesst. Konsolenprogramme startet man *in einer bestehenden, offenen Konsole* und nicht per Doppelklick.
Tatsächlich hat alles geklappt. Doch warum schließt sich die Konsole von selbst?
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Die Anwendung die darin läuft ist zuende und existiert nicht mehr, was sollte die Konsole dann machen? Letztlich musst Du das die Windows-Entwickler fragen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten