Bialka / cokolwiek

0 stars 0 forks source link

Zagnieżdrzona pętla - wypisać pliki #5

Closed Cosiek closed 6 years ago

Cosiek commented 6 years ago

Jak może zauważyłaś zmienna x składa się z trzech wartości.

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:

do_zrobienia/Taal
    01. Ishq Bina.mp3
    02.Taal Se Taal (Western).mp3
do_zrobienia/Sirens
    01 Circe's Island.mp3
    02 Persephone River Of Tears.mp3

Ż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 zamiast os.walk("do_zrobienia"), wstawisz x[2].

Spróbuj na razie sama i wklej mi kod tutaj jak coś będziesz miała.

Cosiek commented 6 years ago

Żeby wyprintować coś z wcięciem na początku, możesz zrobić tak: print("\t", zmienna)

Bialka commented 6 years ago

Ta pętla ma być pod czy nad "print (x)"?

Cosiek commented 6 years ago

Ma nie być print(x). Ma być print(nazwa_pliku).

Dokładniej:

for nazwa_pliku in x[2]:
    print(nazwa_pliku)
Bialka commented 6 years ago

print ("Zaczynam") if name == "main": for x in os.walk("do_zrobienia"): for nazwa_pliku in x[2]: print("\t", nazwa_pliku) Tak?

Bialka commented 6 years ago

Jest z wcięciami.

Cosiek commented 6 years ago

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)

Bialka commented 6 years ago

Już.

Cosiek commented 6 years ago

Źle wcięcia.

Bialka commented 6 years ago

A jak powinny być?

Cosiek commented 6 years ago
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
Bialka commented 6 years ago

Już poprawiłam.

Cosiek commented 6 years ago

Zgubiłaś jeszcze wyprintowanie nazwy katalogu, ale niech tak będzie. Doda się w kolejnym zadaniu.

Zamykam.