habe ein Verständnisp Problem mit der Lösung. Ich soll einen Code schreiben der mir alle möglichen Kombinationen von 5 aufeinander folgenden Wörter einer Liste anzeigt. Habe auch den Beitrag von Dookie gelesen und stimme dem zu! Erwarte von keinem hier, das er meine Hausaufgaben macht. Ich will es verstehen. Nur hapert es ein wenig mit der Logik bei mir.
BSP: Liste (apfel, milch, honig. zucker, wasser, kaffee, tee, mehl, salz, limo, brombeere, limette, erdbeer, pflaume, gurke, birne, kirsche) usw. Liste ist ca 300 Wörter.
Beim ersten Durchlauf wäre das die Ausgabe Index(0,1,2,3,4).
Beim zweiten Durchlauf dann Index(1,2,3,4,5) usw. Das ist mit meinem jetzigen Code auch kein Problem. Nun kommt das Problem: Wie verdammt nochmal bekomme ich dann die Kombinationen Index(0,2,4,6,8) angezeigt und wenn die Range durchgelaufen ist, dann wird es ganz kompliziert. Wie lass ich eine Schleife laufen die Index(10,30,30,30,30) oder Index(10,20,20,20,20) anzeigt. Es geht halt nicht darum jedes Wort mit jedem zu kombinieren. Sondern nur Reihenfolgen zu erzeugen die mit der Liste von 300 Wörtern insgesamt möglich sind. Versuche mich nun mit einer verschachtelten Schleife aber da kommt nur Käse bei raus Vll hat einer von euch Profis einen Gedankenblitz für mich . Ich verzweifel schon...
Mein jetziger Stand: erst war die innere Schleife. Damit bekomme ich den Bereich List(0,1,2,3,4) List(1,2,3,4,5) usw. Nun versuche ich eine äußere Schleife einzusetzen, die mir einen erweiterten Zählerwert gibt. Hoffe ihr versteht mich
Liebe Grüße Jenny
Code: Alles auswählen
#!usr/bin/env python
from __future__ import absolute_import, division, print_function
open_file = open("1.txt", "r")
stri= ""
for line in open_file:
stri+=line
word_stri = stri.split()
la = 0
m = 0
for la in range(1,10):
m = m + 1
for i in range(0,5):
print (word_stri[la],sep='',end=' ')
la = la + m
print('\n')