Complete TaskA04

This commit is contained in:
eddie 2024-11-01 16:28:16 +01:00
parent a5ec559880
commit e3b4150554
2 changed files with 19981 additions and 19949 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,58 @@
import sys import sys
def solve(lines):
# from 0 to n-6
date_f = "19XX r."
date_l = len(date_f)
res = []
for l in lines:
# acc = []
j = 0
for i in range(len(l)):
c = l[i]
if j == date_l:
# acc.append(l[i-j: i])
res.append(l)
break
elif c == date_f[j] \
or (j in (2, 3) and c.isdigit()):
j += 1
continue
j = 0
# res.append(" ".join(acc))
# return "\n".join(res)
return "".join(res)
# detect numbers. separate numbers by spaces
def solve(lines): def solve(lines):
res = [] res = []
j = 0
for l in lines: for l in lines:
numbers = [] numbers = []
for w in l.split(): for i in range(len(l)):
number = ''.join(filter(lambda c: c.isdigit(), w)) c = l[i]
if number:
numbers.append(number) if j > 0 and not c.isdigit():
if numbers: numbers.append(l[i-j:i])
res.append(' '.join(numbers) + '\n') j = j+1 if (c.isdigit() and c.isascii()) else 0
return res if numbers:
res.append(' '.join(numbers))
return '\n'.join(res)
if __name__ == "__main__": if __name__ == "__main__":
lines = [] lines = []
fp = sys.argv[1] fp = sys.argv[1]
with open("../TaskA02/polish_wiki_excerpt.in", encoding="utf-8") as f: with open(fp, encoding="utf-8") as f:
lines = f.readlines() lines = f.readlines()
sol = solve(lines) sol = solve(lines)
with open("./polish_wiki_excerpt.out", 'w', encoding="utf-8") as f: with open("./polish_wiki_excerpt.out", 'w', encoding="utf-8") as f:
f.writelines(sol) f.writelines(sol)
f.write('\n') # it expects for file to end with newline :)