Das ist komplizierter, als du es brauchst.
Schau dir die genannten Datenstrukturen an. Da lernst du mehr, auch wenn du mal - Schockschwerenot - 7 Zahlen zu vergleichen hast. Oder 8.
drei beliebige Zahlen doppelt
Habe ein bisschen wegen Sortieralgorythmen recharchiert, und habe direkt einen einfachen Algorythmus gefunden, den ich nun in das Spiel implementieren werde.
Hier ist er:
Ist zwar immer noch ziemlich aufwendig, aber nur für die überprüfung. Kann aber das komplette Spiel deutlich kürzen.
Danke für eure Hilfe

Hier ist er:
Code: Alles auswählen
c = 6
d = 5
e = 4
f = 4
g = 5
h = 6
# Sortieralgorithmus
def Sortieren(L):
n = len(L)
i = 0
while i < n - 1:
minpos = i
m = i + 1
while m < n:
if L[m] < L[minpos]:
minpos = m
m = m + 1
h = L[i]
L[i] = L[minpos]
L[minpos] = h
i = i + 1
return L
L = [c, d, e, f, g, h]
L = Sortieren(L)
if L == [1, 2, 3, 4, 5, 6]:
print("Ja")
else:
if L == [1,1,2,2,3,3] or [1,1,2,2,4,4] or [1,1,2,2,5,5] or [1,1,2,2,6,6] or [1,1,3,3,4,4] or [1,1,3,3,5,5] or [1,1,3,3,6,6] or [1,1,4,4,5,5] or [1,1,4,4,6,6] or [1,1,5,5,6,6] or [2,2,3,3,4,4] or [2,2,3,3,5,5] or [2,2,3,3,6,6] or[2,2,4,4,5,5] or [2,2,4,4,6,6] or [2,2,5,5,6,6] or [3,3,4,4,5,5] or [3,3,4,4,5,5] or [3,3,4,4,6,6] or [3,3,5,5,6,6] or [4,4,5,5,6,6]:
print("YEAH")
Danke für eure Hilfe


@Florian Jochum: jetzt benutzt Du ja doch schon Listen. Die if-Abfrage ist falsch, da `or` nicht einem umgangssprachlichen "oder" entspricht. Es ist also nicht "L ist entweder A oder B oder C" sondern der Computer interpretiert es als "L ist A, logisch oder verknüpft mit B ist wahr", wobei bei Dir B eine nicht-leere Liste immer wahr ist, so dass sich der Ausdruck zu "immer wahr" verkürzen läßt. Was Du suchst, ist der `in`-Operator:
oder eben ganz kurz:
Code: Alles auswählen
L = sorted([c, d, e, f, g, h])
if L == [1, 2, 3, 4, 5, 6]:
print("Ja")
elif L in ([1,1,2,2,3,3], [1,1,2,2,4,4], [1,1,2,2,5,5], [1,1,2,2,6,6], [1,1,3,3,4,4], [1,1,3,3,5,5], [1,1,3,3,6,6], [1,1,4,4,5,5], [1,1,4,4,6,6], [1,1,5,5,6,6], [2,2,3,3,4,4], [2,2,3,3,5,5], [2,2,3,3,6,6], [2,2,4,4,5,5], [2,2,4,4,6,6], [2,2,5,5,6,6], [3,3,4,4,5,5], [3,3,4,4,5,5], [3,3,4,4,6,6], [3,3,5,5,6,6], [4,4,5,5,6,6]):
print("YEAH")
Code: Alles auswählen
L = collections.Counter([c, d, e, f, g, h])
if set(L.values()) == {2}:
print("YEAH")