Python ist komisch?

Hanibal545  29.08.2022, 21:57
Das Script funktioniert nicht, da die stelle der Liste nicht außgegeben wird.

Was soll das Script denn tun (macht das was es soll)?

Deffer 
Beitragsersteller
 29.08.2022, 21:59

Ich will eine bestimmt stelle von einer liste prüfen.

Eigentlich str aber im origenal gibts noch ein append.

Und diese stelle wird zu =""

Hanibal545  29.08.2022, 22:18

kannst du uns vielleicht ein Ausschnitt des "origenal" zu Verfügung stellen?

Deffer 
Beitragsersteller
 29.08.2022, 22:24

Unterwegs

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
List = [4 for _ in range(100)]
w = 3
f = 4
t = 5
List[w:f+t]

Erzeugt eine Liste von 100 Vieren.

List[w:f+t] ist List[3:4+5] ist List[3:9]

Das sind 6 Vieren.

In der Idle Shell ist die Antwort

[4, 4, 4, 4, 4, 4]

Alles richtig. Was hast du stattdessen erwartet?

In einem Skript müsstest du

print(List[w:f+t])

schreiben


Deffer 
Beitragsersteller
 29.08.2022, 21:57

Außer ich änder w zu 0, dann wird alles außgegeben.

0
Deffer 
Beitragsersteller
 29.08.2022, 21:57

Bei mir wird [] außgegeben

0
Deffer 
Beitragsersteller
 29.08.2022, 22:10
@Schachpapa

Ich bin so klug, im original ist stad range ... "kfkfkfkfkf"

0
Schachpapa  29.08.2022, 23:37
@Deffer

Was soll denn das? Wenn du hier etwas anderes hinschreibst, als das, was bei dir Fehler produziert, kann man dir kaum vernünftig helfen.

List = [4 for _ in "kfkfkfkfkf"]

erzeugt 10 Vieren.

print(List[w:f+t])

mit w=3, f=4 und t=5 liefert immer noch

 [4, 4, 4, 4, 4, 4]

Fragt sich, wer hier komisch ist. Python nicht.

1
Deffer 
Beitragsersteller
 30.08.2022, 15:43
@Schachpapa

Vielleicht schauen Sie sich meine Korrektur der Frage an?

0
Schachpapa  30.08.2022, 18:59
@Deffer

Deine Liste hat nur ein Element, nämlich den String "vio...rgb".

Deshalb gibt es nur w[0]

w[3:9] ist eine leere Liste.

Alles richtig, nichts komisch.

Garbage in, garbage out.

1

Wenn du eine variable bei Python ausgeben möchtest, dann kannst du print( ) verwenden.

List = [4 for _ in range(100)]

w = 3
f = 4
t = 5

print(List[w:f+t])
Woher ich das weiß:Hobby

Deffer 
Beitragsersteller
 29.08.2022, 21:55

Ups habs vergessen mit aufzuschreiben, also eigentlich steht da ein Print.

1