@ the_real_noob :
mein lieber Freund, du bist recht unkonzentriert. Erstens solltest du deinen code richtig präsentieren und zweitens vielleicht aus Debugging-Gründen mal ein print(a) in die while-Schleife setzen, damit du auch weißt, was da geschieht.
richtig geschriebener Code (der trotzdem nicht das macht, was du gerne hättest):
Code: Alles auswählen
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] # Punkte weglassen
c = 5
f = 0
while f != c : # wo ist der Doppelpunkt nach c ?
del c[f] # was soll das? c ist eine Zahl und keine Liste => del a[f]
print(a) # zum Debuggen
f += 1
so, was passiert denn hier?
Du veränderst den Index von der Liste a (0, 1, 2, 3, 4), so dass bei der ersten Schleife das erste Element aus a (Index 0) gelöscht wird (=> 1). Ein print(a) würde nun [2, 3, 4, 5, ..., 15] ausgeben.
Beim zweiten Durchgang wird jedoch das zweite Element (Index 1) aus der (neuen) Liste a gelöscht (=> 3). Ein print(a) würde nun [2, 4, 5, ..., 15] ausgeben, usw. Du verstehst ?
also:
Code: Alles auswählen
>>> a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
>>> c = 5
>>> f = 0
>>> while f != c : # 5 Schleifendurchgänge
del a[0] # es wird immer das erste Element der (neuen) Liste gelöscht
f += 1
print(a) # für's Debuggen
>>> a
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # das gewünschte Ergebnis !
du könntest auch range() verwenden :
Code: Alles auswählen
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
>>> c = 5
>>> for i in range(c) :
del a[0]
i += 1
>>> a
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # das gewünschte Ergebnis !
zur ersten Frage kann ich nur bedingt etwas sagen:
Code: Alles auswählen
with open(r'G:\var.txt', 'r', encoding='ascii') as file:
das erste r:
dies ist ein sog. r-String (r steht für raw), sonst müsste 'G:\\\\var.txt' hier stehen (@ _blackjack: ist doch richtig, oder?).
das zweite r:
dies ist die Methode, mit der du die Textdatei lädst. 'r' steht für 'read', also zum (zeilenweise) (Aus)Lesen des Dateiinhaltes. Beispielsweise 'w' würde 'write' bedeuten, also zum Beschreiben der Datei, wobei der Inhalt überschrieben wird.
ascii deswegen, denke ich, weil man international bleiben sollte ?