Ktoś pomoże? Python

Napisac funkcje która zlicza:
1 liczbe znaków w pliku,
2 liczbe białych znaków w pliku ( spacja, tabulator, koniec wiersza),
3 liczbe słów w pliku.
Wynikiem funkcji jest tablica złozona z 3 liczb całkowitych po jednej dla wymienionych podpunktów.


Odpowiedź :

Odpowiedź:

def zlicz_znaki(plik):

 licznik_znakow = 0

 licznik_bialych_znakow = 0

 licznik_slow = 0

 with open(plik) as f:

   for linia in f:

     liczba_znakow = len(linia)

     licznik_znakow += liczba_znakow

     licznik_bialych_znakow += linia.count(' ') + linia.count('\t') + linia.count('\n')

     licznik_slow += len(linia.split())

 return [licznik_znakow, licznik_bialych_znakow, licznik_slow]

Wyjaśnienie:

W załączniku przykładowy plik z tekstem.

import string

def licz(plik):

   tekst = plik.read()

   znaki = len(tekst)

   b_znaki = 0

   for znak in tekst:

       if znak in string.whitespace:

           b_znaki += 1

   slowa = len(tekst.split())

   return [znaki, b_znaki, slowa]

plik = open("tekst.txt")

print(licz(plik))

plik.close()

Zobacz obrazek Konrad509