Python programmieren?

3 Antworten

Du kannst noch eine for-Schleife oben drüber über die packen, die momentan den klar Buchstaben umwandelt und zwar "for buchstabe_klar in satz_klar"

Anstatt dann buchstabe_geheim zu setzen, nutzt du einen String (zB satz_geheim) und fügst den gefundenen Buchstaben dazu. Also:

satz_klar = input(...)
satz_geheim = "" # das wird der umgewandelte Satz

# jetzt gehen wir durch jeden Buchstaben im Satz
for buchstabe_klar in satz_klar:
  # und machen das gleiche wie im Beispiel
  for i in range(0, len(alphabet_klar)):
    if buchstabe_klar == alphabet_klar[i]:
      # nur dass wir hier jeweils den geheim buchstaben
      # zum Satz hinzufügen
      satz_geheim += alphabet_geheim[i]
      break # wenn es ein A ist, kanns kein Z sein ;)

print(satz_geheim)

Kann sein dass Syntax Fehler drin sind ich benutz Python nie.. Aber von der Idee wäre das am nächsten an dem wo du momentan bist :)

Woher ich das weiß:Berufserfahrung – Softwareentwickler als Nebenjob
kolapi 
Fragesteller
 29.01.2024, 17:29

Vielen Dank! Was kommt aber in die " " in der 2. Zeile satz_geheim ?

1
Ziegelstein43  29.01.2024, 17:32
@kolapi

die Anführungszeichen sind ein String (also text). Nur leere "" sind ein text ohne Inhalt - der Inhalt kommt dann in der Zeile

satz_geheim += alphabet_geheim[i]

stück für stück dazu. der "+=" operator fügt das was rechts davon steht zu dem links davon hinzu. zB

a = ""
a += "hallo" # a ist jetzt "hallo"
a += " welt!" # a ist jetzt "hallo welt!"
2
kolapi 
Fragesteller
 29.01.2024, 17:40
@Ziegelstein43

Also kommt nichts in die Anführungszeichen rein? Weil sind die leer, klappt es nicht

1
Ziegelstein43  29.01.2024, 17:45
@kolapi

Ja genau die müssen leer sein. Du kannst gerne deinen ganzen Code hier einmal rein kopieren :)

2
kolapi 
Fragesteller
 29.01.2024, 17:46
@Ziegelstein43

Hab das Problem gefunden, trotzdem Dankeschön :))

2

Ich würde das so mit der join-Funktion machen:

text_klar = input()
dict_klar_geheim = dict(zip(alphabet_klar, alphabet_geheim))
text_geheim = ''.join([dict_klar_geheim [c] for c in text_klar])
print(text_geheim)
kolapi 
Fragesteller
 29.01.2024, 17:18

Ich kenne die join Funktion garnicht... gibt es auch andere Möglichkeiten?

1
Mathmaninoff, UserMod Light  29.01.2024, 17:23
@kolapi

Das wäre ein Ansatz:

text_geheim = ""
for buchtabe_klar in text_klar:
  ...
  text_geheim += buchstabe_geheim

Ersetze dabei "..." durch das, was du bereits hast, wo der Klarbuchstaben in den Geheimbuchstaben verwandelt wird.

2

Das gleiche nochmal, nur eben _geheim einlesen und _klar bestimmen und aufrufen

kolapi 
Fragesteller
 29.01.2024, 17:02

An welcher Stelle kann ich das einfügen? Ich hab davor so ähnlich versucht aber es kam eine Fehlermeldung...

1
SevenOfNein  29.01.2024, 17:22
@kolapi

Ich möchte das nicht alles schreiben, kannst Du es mal reinkopieren bitte ?

1