Seite 1 von 1

Fehler im Script

Verfasst: Montag 22. Mai 2017, 21:21
von Hougou
Kann mir jemand helfen?

Code: Alles auswählen

import random
#Variablen
Figur = ['Schere','Stein','Papier',]
d = True
#Einleitung>
print('<~~~~~~~~~~~~~~~~~~~~~~~~~~~>')
print('Schere<////>Stein<\\\\\>Paper')
print('<***************************>')
while True:
     f1 = 0
     f1 = int(input('Bitte waehlen sie ihre Figur aus:Schere[0],Stein[1],Papier[2]'))
     f2 = Figur(f1 - 1)
     while not(1,3):
         comp = Figur(random.randint(0,2)
         if f2 == comp:
             print('Unentschieden!!')
         else:
           #Schere vs Stein / Stein vs Schere
              if f2 == 'Schere':
                   if comp == 'Stein':
                       print('Verloren! Computer wählte', comp)
                   else:
                       if f2 == 'Stein':
                           if comp == 'Schere':
                                print('Gewonnen!! Computer wählte', comp)
                           else:
                           #ScherePapier
                               if f2 == 'Schere':
                                    if comp == 'Papier':
                                        print('Gewonnen, Computer wählte',comp)
                                    else:
                                        if f2 == 'Papier':
                                            if comp == 'Schere':
                                                print('Verloren! Computer wählte',comp)
                                            else:
                                          #SteinPapier  
                                                if f2 == 'Stein':
                                                    if comp == 'Papier':
                                                        print('Verloren! Computer wählte',comp)
                                                    else:
                                                         if f2 == 'Papier':
                                                             if comp == 'Stein':
                                                                 print('Gewonnen!! Computer wählte',comp)
                                                                 #restart
                                                                 nochmal = ''
                                                                 l = input('Nochmal? Wenn ja gebe “y“ ein, wenn nich dann gebe “n“ ein ')
                                                                 while nochmal not ('y', 'n'):
                                                                     if l == 'n':
                                                                     d = false

Re: Fehler im Script

Verfasst: Montag 22. Mai 2017, 21:30
von BlackJack
@Hougou: Du willst Dich ganz dringend mit ``elif`` beschäftigen. Und wenn das sinnvoll verbaut wurde, beschreiben wo denn das Problem liegt. Wenn es eine Ausnahme gibt, dann zeig den Traceback 1:1. Falls sich das Programm anders verhält als Du erwartest, beschreibe wo es sich anders verhält, und wie das verhalten von Deinen Erwartungen abweicht, und warum Du etwas anderes erwartet hast was tatsächlich passiert.

Re: Fehler im Script

Verfasst: Dienstag 23. Mai 2017, 07:16
von Sirius3
@Hougou: Klammern, die man aufmacht, sollte man auch wieder zumachen. "not" ist ein unärer und kein binärer Operator, wenn Du "in" nicht kennst, mußt Du die Bedingung eben anders ausdrücken. Einen if-Block muß man einrücken. Wenn Du diese ganzen Syntaxfehler beseitigt hast, kommen noch etliche semantische Fehler, einige mit Fehlermeldung, die mußt Du dann beheben, bei anderen solltest Du das Programm von Hand Schritt für Schritt durchgehen und prüfen, ob das, was Du denkst, dass passiert auch wirklich so vom Programm gemacht wird.

Für die Zukunft: es macht keinen Sinn, zig Zeilen Code zu schreiben, ohne den bereits geschriebenen zu testen. Baue Deine Programme Stück für Stück auf und prüfe in keinen Teilen, ob das Programm das von Dir gewünschte tut.