Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kurs_alx_pcz
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
kurs_alx_pcz
Commits
76137074
Commit
76137074
authored
Nov 29, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
policz wszystkie słowa - wersje dodatkowe
parent
38a6c97a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
0 deletions
+43
-0
policz_wszystkie_slowa2.py
dzien4/pliki/policz_wszystkie_slowa2.py
+23
-0
policz_wszystkie_slowa3.py
dzien4/pliki/policz_wszystkie_slowa3.py
+20
-0
No files found.
dzien4/pliki/policz_wszystkie_slowa2.py
0 → 100644
View file @
76137074
# W tej wersji:
# zamiana wszystkich słów na małe litery
# sortowanie alfabetyczne słów, zgodnie z localami
import
re
pattern
=
re
.
compile
(
r'\w+'
)
slownik
=
{}
with
open
(
'pan_tadeusz.txt'
,
mode
=
'r'
,
encoding
=
'utf-8'
)
as
plik
:
for
linia
in
plik
:
for
slowo
in
re
.
findall
(
pattern
,
linia
):
slowo
=
slowo
.
lower
()
if
slowo
in
slownik
:
slownik
[
slowo
]
+=
1
else
:
slownik
[
slowo
]
=
1
# for slowo, ile in sorted(slownik.items()):
# print(slowo, ile)
import
locale
locale
.
setlocale
(
locale
.
LC_COLLATE
,
'pl_PL.utf8'
)
for
slowo
,
ile
in
sorted
(
slownik
.
items
(),
key
=
lambda
item
:
locale
.
strxfrm
(
item
[
0
])):
print
(
slowo
,
ile
)
dzien4/pliki/policz_wszystkie_slowa3.py
0 → 100644
View file @
76137074
# W tej wersji:
# * zamiast zwykłego słownika używamy defaultdict
# on działa tak, że gdy próbujemy odczytać wartość z klucza, który jeszcze nie istnieje,
# w tym momencie automatycznie wstawiana jest domyślna wartość
# * sortowanie wyników wg liczby wystąpień
import
re
from
collections
import
defaultdict
pattern
=
re
.
compile
(
r'\w+'
)
# mówimy, co ma być domyślną wartością → nie podaje się wartości 0, tylko podaje się sposób jej utworzenia
# w praktyce najczęściej podaje się nazwę typu wartości. Dla inta domyślną wartością jest 0 i dzięki temu to działa.
slownik
=
defaultdict
(
int
)
with
open
(
'pan_tadeusz.txt'
,
mode
=
'r'
,
encoding
=
'utf-8'
)
as
plik
:
for
linia
in
plik
:
for
slowo
in
re
.
findall
(
pattern
,
linia
):
slownik
[
slowo
.
lower
()]
+=
1
for
slowo
,
ile
in
sorted
(
slownik
.
items
(),
key
=
lambda
item
:
item
[
1
],
reverse
=
True
):
print
(
f
'{slowo:>12} → {ile:4}'
)
# print('Najdłuższe słowo:', max(len(slowo) for slowo in slownik.keys()))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment