Closed Cosiek closed 6 years ago
Żeby wyprintować coś z wcięciem na początku, możesz zrobić tak:
print("\t", zmienna)
Ta pętla ma być pod czy nad "print (x)"?
Ma nie być print(x)
. Ma być print(nazwa_pliku)
.
Dokładniej:
for nazwa_pliku in x[2]:
print(nazwa_pliku)
print ("Zaczynam") if name == "main": for x in os.walk("do_zrobienia"): for nazwa_pliku in x[2]: print("\t", nazwa_pliku) Tak?
Jest z wcięciami.
Dokładnie tak. :+1: Skomitować i wypchnąć.
P.S. Jak chcesz wkleić blok kodu na githubie, to wpisz 3 razy `, potem wklej kod i zamknij znowu 3 razy ` (klawisz na lewo od jedynki, pod esc)
Już.
Źle wcięcia.
A jak powinny być?
print ("Zaczynam")
if __name__ == "__main__":
for x in os.walk("do_zrobienia"):
for nazwa_pliku in x[2]:
print("\t", nazwa_pliku)
W obecnej postaci program nie działa:
python cokolwiek.py
File "cokolwiek.py", line 9
for nazwa_pliku in x[2]:
^
IndentationError: expected an indented block
Już poprawiłam.
Zgubiłaś jeszcze wyprintowanie nazwy katalogu, ale niech tak będzie. Doda się w kolejnym zadaniu.
Zamykam.
Jak może zauważyłaś zmienna
x
składa się z trzech wartości.print(x[0])
- to jest odwołanie do ierwszego elementu krotki (tuple) x)print(x[1])
)print(x[2])
)Chcę, żeby program printował ścieżkę katalogu, a niżej, kolejno nazwy plików które się w nim znajdują. Ma to wyglądać mniej więcej tak:
Żeby to zrobić, musisz przeiterować po liście plików - czyli po trzecim elemencie x -
x[2]
. To znaczy, że musisz napisać pętlę for, wewnątrz tej pętli którą już masz. Twoja druga pętla for będzie miała analogiczną budowę do tej którą już masz, sle zamiastos.walk("do_zrobienia")
, wstawiszx[2]
.Spróbuj na razie sama i wklej mi kod tutaj jak coś będziesz miała.