Informatik Python?

 - (Computer, Informatik, Python)

2 Antworten

du berücksichtigst nicht den Fall, das w2=w3 ebenfalls ein Zweierpasch ist.

Allerdings würde ich garnicht jeden wert einzeln miteinander vergleichen, sondern

  • die drei Würfe als Liste mit 3 Elementen ansehen
  • mehrfache Ergebnisse entfernen.
  • Hat die Liste danach nur noch 1 Element, so handelt es sich um einen 3er-Pasch.
  • Hat die Liste 2 Elemente , so war ein Duplikat dabei, welches entfernt wurde, also ein 2er-Pasch
  • ist die Liste unverändert , also 3 Elemente , so ist es Müll

demo.py

import random


randomList = []
for i in range(0,3):
    n = random.randint(1,6)
    randomList.append(n)
 
uniqueList = list(dict.fromkeys(randomList))  #ermittle gleiche elemente 
uListCount = len(uniqueList)


print( "Diese 3 Zahlen wurden gewürfelt: ", randomList)
print( "Diese Zahlen aus der Liste sind Einzigartig : ", uniqueList)
print(uListCount," einzigartige Elemente")


if   uListCount == 1:  print("3er Pasch")
elif uListCount == 2:  print("2er Pasch")
else                :  print("Müll")

Das vorgehen ist natürlich völlig unabhängig von der verwendeten Sprache. In Powershell sähe die Sache so aus:

$UniqueList = 1..3|
  %{1..6|Get-Random}|
  sort -unique
Write-Host $UniqueList
switch ( $UniqueList.Count ){
  1 {'3er Pasch'}
  2 {'2er Pasch'}
  default {'Muell'}
}

Was ist, wenn w2 = w3, aber nicht w1= w2?

Und wenn du einen Zweierpasch gefunden hast, was dann? Die müssen alle ausgegeben werden.

Sonnenblume633 
Fragesteller
 11.11.2023, 22:00

Warte was? Hä? Also ich habe das „Stuktogramm“ selbst gemacht und ja auch gemerkt, dass da was nicht stimmt, aber das verstehe ich jetzt wirklich nicht :(

0
gogogo  11.11.2023, 22:25
@Sonnenblume633

Es gibt drei Arten von Zweierpasch, Du hast nur zwei beachtet.

Dass du es selbst gemacht hast, war mir klar. Was falsch ist, habe ich erklärt.

0
gogogo  12.11.2023, 06:54
@Sonnenblume633

Genau, es gibt: 1=2, 1=3, 2=3

Alle True-Zweige münden in einem Block zur Ausgabe.

0
gogogo  12.11.2023, 09:14
@Sonnenblume633

Genau kenne ich mich mit den Diagrammen nicht mehr aus.

Willst du zwei Ausgsben haben, Zweier/Dreierpasch? Dann zwei Ausgaberechtecke.

Alle drei Prüfungen auf Zweierpasch gehen bei true / wahr zur Ausgabe eines Zweierpasches.

Du hast drei Ausgänge mit Ausgaben. Dahin musst du vom Eingang aus unterscheiden.

1. Dreierpasch

2. Zweierpasch

3. Pasch

Ablauf:

Testen auf Dreierpasch, true => 1. Ausgabe

false: Testen auf w1 = w2. True => 2. Ausgabe

false: Testen auf w1 = w3. True => 2. Ausgabe

false: Testen auf w2 = w3. True => 2. Ausgabe

false: 3.Ausgabe

1