Totale Verzweiflung bei Phyton Aufgabe.

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
LittlestarxAmu
User
Beiträge: 2
Registriert: Montag 21. März 2022, 17:15

Hallo miteinander!

Ich weiß, dass viele von euch es nicht mögen, wenn jemand erwartet, dass ihr unsere Hausaufgaben erledigt und das erwarte ich auch nicht :D aber ich brauche eure Hilfe dabei, meine Fehler zu finden und eine bessere Lösung zu finden und diese auch zu verstehen.
Ich wäre euch dafür unendlich dankbar :D

Wir haben von der Uni aus zwei Aufgaben. Die erste Aufgabe war es eine verschachtelte Schleife zu erstellen. Ich habe lange herumgetüftelt und kam dabei auf das Ergebnis aber irgendwie kommt entweder nichts raus oder das Ergebnis in 20facher ausführung.

Der benutzte Code ist:
lst1 = [3,4,5]
lst2 = [6,8,10]
lst3 = [9,12,15,20]
Ergebnis = [ ]

for i in range(lst1):
for j in range(lst2):
for k in range(lst3):
Ergebnis.append[(f' {lst1} {lst2[j]} {lst3[k]}')
print (Ergebnis)

Wie bereits erwähnt, ich habe alles versucht und stoße nur auf Fehlschläge....

Die zweite Aufgabe war es zwei Plots zu erstellen aus Pseudozufallszahlen die sich nicht überschneiden. Ich habe versucht diese auszugrenzen bin aber dabei ebenso auf eine Hürde gestoßen. Den Graphen erstellen kriege ich noch hin aber diese Zahlen voneinander auszuschließen leider nicht.

Der Code bisher sieht so aus:

import numpy as np
np.random.seed(1)
arrlnt = np.random.randint(0,50,size=10)
print(arrlnt)

plot2 = np.random.randint[(0,50)]
while len(plot2) ==arrlnt:
nextnum = np.random.randint([arrlnt])
if not plot2[-1] == nextnum:
plot2.append(nextnum)
print(nextnum)

Ich wäre euch wirklich dankbar wenn mir jemand dabei helfen könnte.
Vielen Dank im Vorraus!!!!
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Als erstes solltest Du gültige Python-Syntax schreiben. Die öffnende eckige Klammer hat keine schließende Klammer.
Nächster Punkt ist, das `range` mit einer Liste als Argument nichts anfangen kann. Was macht `range` und was erwartet es als Argumente?

Der Code läuft also nicht, das ist etwas anderes als "kommt nichts raus" oder "20facher ausführung".
Wenn drei Schleifen zu kompliziert sind, dann fange mit einer Schleife an. Sowohl Anfänger als auch Experten bauen eine Funktion Schritt für Schritt auf, wenn man nicht weiter kommt, dann ist einfach der Schritt zu groß.

Auch beim zweiten Code hast Du eckige Klammern benutzt, wo das keinen Sinn macht. Schau Dir also nochmal grundsätzlich an, wie man Funktionen aufruft.

Um Dir detailierter helfen zu können, ist die Beschreibung der Aufgabe auch zu ungenau.
Benutzeravatar
ThomasL
User
Beiträge: 1379
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Aufgabe 1 könnte man so schreiben:

Code: Alles auswählen

print([f'{i} {j} {k}'
       for i in [3,4,5]
       for j in [6,8,10]
       for k in [9,12,15,20]
      ])
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
LittlestarxAmu
User
Beiträge: 2
Registriert: Montag 21. März 2022, 17:15

Danke!!

Ich dachte mir schon, dass ich einfach noch nicht mit Python klar komme. Aber in Rahmen eines Uni Seminars mit 4 Einheiten zu je 3 Stunden kann man es nicht lernen wenn man auf die Bedürfnisse von 20 Leuten eingeht.

Die erste Aufgabe war lediglich ein eigenes Projekt mit Loops zu programmieren. Für diejenigen die hoffnungslos keine Idee hatten, gab er die drei Zahlenlisten an mit der Zusatzinformation diese in 2-3 verschachtelten Loops zu programmieren.

Bei der zweiten Aufgabe gab es diese Angabe:
Schreibe ein Script das
- einen Plot mit 2 Graphen generiert, die sich nicht überschneiden
- den jeweiligen Mittelwert und die Standardabweichung ausgibt
- die Daten hierzu sollen auf Pseudozufallszahlen beruhen

Ich bin ehrlich und muss sagen, dass ich bis vor 1 Woche nicht mal wusste, dass es Python gibt. Aber mir ist klar, dass es viele berufliche Aussichten auch bietet wenn man es beherrscht. Aber so wie ich es in meinen Seminar lerne, nimmt es mir mehr die Freude an dem Programmieren als das es mich motiviert vor allem durch solche Aufgaben.

Also ich bin wirklich ein totaler Neuling auf dem Gebiet.. Tut mir Leid für die Umstände.
Benutzeravatar
noisefloor
User
Beiträge: 4196
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

was du dann auf jeden Fall mal Lesen solltest ist https://docs.python.org/3/tutorial/index.html . Das ist das offizielle Python-Tutorial, was von den Python-Entwicklern selber gepflegt wird. Das ist gezielt für Neueinsteiger geschrieben, gut verständlich, überschaubarer Umfang und der richtige Einstieg in Python.

Gruß, noisefloor
Benutzeravatar
DeaD_EyE
User
Beiträge: 1244
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Ohne Schleife:

Code: Alles auswählen

lst1 = [3,4,5]
lst2 = [6,8,10]
lst3 = [9,12,15,20]
verschachtelte_liste = [lst1, lst2, lst3]


# z.B. das letzte Element von lst1 durch 1337 ersetzen
verschachtelte_liste[0][-1] = 1337

print(verschachtelte_liste)
print("Das erste Element in verschachtelte_liste ist die Referenz auf das objekt lst1")

print(lst1)
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten