61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
|
def checkForTFirstChar(char):
|
||
|
if char == 'p' or char == ' ':
|
||
|
return char
|
||
|
else:
|
||
|
return None
|
||
|
|
||
|
def checkForTLastSymbol(char):
|
||
|
interpunct = [',', '.', '!', '?', ' ', ')', ';', ':', '\t', '\n','-']
|
||
|
for j in range(len(interpunct)):
|
||
|
if char == interpunct[j]:
|
||
|
return char
|
||
|
return None
|
||
|
|
||
|
def whereIsPies(file):
|
||
|
with open(file, "r", encoding="utf-8") as sampleCheck:
|
||
|
line = 0
|
||
|
lineCount = 0
|
||
|
for row in sampleCheck:
|
||
|
line += 1
|
||
|
lastChar = ''
|
||
|
word = ''
|
||
|
for char in row.lower():
|
||
|
|
||
|
if lastChar == '' or lastChar == ' ':
|
||
|
if char == 'p':
|
||
|
word+=char
|
||
|
lastChar = char
|
||
|
|
||
|
elif lastChar == checkForTFirstChar(lastChar):
|
||
|
word+=char
|
||
|
lastChar = char
|
||
|
|
||
|
elif len(word) == 2 and word[1] == 'i' and char == 'e':
|
||
|
word+=char
|
||
|
lastChar = char
|
||
|
|
||
|
elif len(word) == 3 and word[2] == 'e' and char == 's':
|
||
|
word+=char
|
||
|
lastChar = char
|
||
|
|
||
|
elif len(word) == 4 and word[3] == 's' and checkForTLastSymbol(char) == char:
|
||
|
word+=char
|
||
|
lastChar = char
|
||
|
|
||
|
else:
|
||
|
word = ''
|
||
|
lastChar = ''
|
||
|
|
||
|
if len(word) >= 5 and word[0] == checkForTFirstChar(word[0]) and word[1] == 'i' and word[2] == 'e' and word[3] == 's' and word[4] == checkForTLastSymbol(word[4]):
|
||
|
lineCount+=1
|
||
|
print(lineCount,'.',line )
|
||
|
break
|
||
|
|
||
|
file = 'polish_wiki_excerpt.in'
|
||
|
whereIsPies(file)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|