Listen Iteration

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
derebath97
User
Beiträge: 3
Registriert: Freitag 15. Dezember 2017, 16:51

Hallo, ich hab eine Frage.
Ich habe eine Liste [1,2,3,4,5,6,7,8,9,0].
Nun will ich wissen, welche zwei Zahlen/Elemente gemeinsam 5 ergeben.
Hat jemand eine Ahnung wie man das macht?
Dachte da an eine For-Schleife mit 2 Variablen, aber ich habe es nicht hingekriegt.
würde mich über eine Antwort freuen.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann zeig doch mal was du probiert hast. Dabei bitte Code-Box nicht vergessen, damit der code auch wirklich der "echte" ist - sonst verliert man die Einrueckung.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Mit itertools.combinations und einer List Comprehension ist das ein Einzeiler. Hier geht es allerdings wohl tatsächlich darum, erst einmal grundlegendes Verständnis für Programmierung zu entwickeln.

Also: Codeversuch zeigen, erklären was man sich dabei gedacht hat und beschreiben was man als Ergebnis erwarten würde. Dann sind wir in der Lage gezielt zu helfen.
derebath97
User
Beiträge: 3
Registriert: Freitag 15. Dezember 2017, 16:51

Kannst du den Code einmal hier reinschreiben? Kriege es nicht hin richtig zu kopieren.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du uns die E-Mail von deinem Lehrer oder Tutor gibts, können wir das auch gleich da einschicken und unsere Lösung erklären. dann musst du gar nix mehr machen :twisted:

Alternativ bemühst du dich noch ein bisschen mehr, grundlegende Dinge wie copy und paste, markieren und die Nutzung von Dropdowns zu erlernen. Damit wir dir helfen können Python zu lernen.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

derebath97 hat geschrieben:Kannst du den Code einmal hier reinschreiben? Kriege es nicht hin richtig zu kopieren.
Natürlich.

Code: Alles auswählen

[combi for combi in itertools.combinations(range(0, 10), 2) if sum(combi) == 5]
Viel Spaß damit, das deinem Lehrer zu erklären.

Ehrlich, "ich kann den Code nicht in ein Textfeld kopieren" ist ja nun wohl mit die blödeste Ausrede die ich jemals gehört habe. Sollte das aber in der Tat stimmen, dann bist du mit Programmierung ohnehin rettungslos überfordert. Meide dann in Zukunft alles was komplexer ist als ein klassischer Taschenrechner.
Benutzeravatar
pixewakb
User
Beiträge: 1408
Registriert: Sonntag 24. April 2011, 19:43

Du fügst deinen Quellcode bitte zwischen

[ codebox=python file=Untitled.py ]
print("Hallo Welt!")
[ /codebox ]

ein und zwar dort, wo jetzt print("Hallo Welt!") steht. Lass die Leerzeichen nach [ und vor ] bitte weg, dann sollte es gehen. Diese Lösung für den Fall, dass das mit der Codebox aus der Combobox nicht funktioniert.

Falls Du die Combobox nutzen willst: Klick links im "Menü" über der Textbox auf "Select Code" und wähle "PY (Python)", das fügt auch automatisch in die Textbox die Codetags ein. Ist m. E. komfortabler...
derebath97
User
Beiträge: 3
Registriert: Freitag 15. Dezember 2017, 16:51

Hallo, ich bringe mir zurzeit Python bei. Dabei bin ich auf ein Problem gestoßen was ich nicht lösen kann. Was mein Code können sollte: Ich will das in der Liste gekuckt wird, welche zwei Elemente zusammen (z.B) 5 ergeben. Ich dachte hierbei ein eine For-Schleife mit zwei Iteratoren.
Mein Gedanke: (1+1,1+2,1+3,1+4(ausgeben),1+5....,2+1,2+2,2+3(ausgeben),2+4 und so weiter). Habe ich ein komplett falschen denkansatz, oder würde das so ungefähr gehen? Könntet ihr mir vielleicht sagen wo mein Fehler ist? Auf Antworten würde ich mich sehr freuen.

L =[1,2,3,4,5,6,7,8,9]
def summation(x):
p = L
i=0
j=0
for i,j in L:
____if i + j == x:
_______return (i,j)
_______j+=1
____i+=1
____else:
return x
print(summation(5))
Zuletzt geändert von Damaskus am Samstag 16. Dezember 2017, 13:28, insgesamt 1-mal geändert.
Grund: Zusammenführung
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Zur darstellung von Code den hier

- rein kopieren
- markieren mit der Maus
- das drop down “Code auswählen” anklicken
- Python auswählen.

Mit der “Vorschau” Schaltfläche kann man das Ergebnis vor verschicken prüfen.

Und du wärest der erste Programmierneuling der sich denk “oh, oh, oh ich will wissen, welche Elemente einer Liste addiert einen bestimmten Wert ergeben!” - stattdessen wollen die Leute GUIs bauen oder krasse Spiele oder oder oder.

Das klingt stattdessen nach Schulaufgabe. Womit du uns hier foppen willst, wenn du behauptest das wäre deine Idee. Kleiner Tipp: das mag keiner. Ehrlichkeit währt am längsten.

Und zu deinem Programm: statt ganz viele Sachen hinzuschreiben, die nicht gehen, und das dann irgendwie zu reparieren, solltest du klein von vorne anfangen. Und schrittweise nur Sachen machen, die du gleich ausprobierst.

Zum Anfang ein paar Tipps:

- nimm zwei Parameter (die Liste, und gesuchten wert), nicht nur einen und eine globale Variable.
- du brauchst zwei ineinander geschachtelte Schleifen. Nicht eine.
- interessieren dich alle Zahlenpaare, oder nur das erste? Und sind die Werte wichtig, oder die Positionen, oder beides?
Zuletzt geändert von Damaskus am Samstag 16. Dezember 2017, 13:28, insgesamt 1-mal geändert.
Grund: Zusammenführung
Antworten