Compare commits

...

2 Commits

Author SHA1 Message Date
jwieczor
03b60ae694 3th task 2024-11-17 23:04:47 +01:00
jwieczor
80e1af2c88 4th task 2024-11-17 22:56:41 +01:00
2 changed files with 43 additions and 4 deletions

32
TaskA03/task03.py Normal file
View File

@ -0,0 +1,32 @@
def is_numeric(s):
for char in s:
if char < '0' or char > '9':
return False
return True
def find_lines_with_date_from_file(filename):
result = []
with open(filename, 'r', encoding='utf-8') as file:
lines = file.readlines()
for line in lines:
i = 0
while i < len(line):
if i + 3 < len(line):
year_candidate = line[i:i+4]
if is_numeric(year_candidate):
year = int(year_candidate)
if 1900 <= year <= 1999:
if i + 6 < len(line) and line[i+4] == ' ' and line[i+5:i+7] == 'r.':
result.append(line.strip())
break
i += 1
return result
filename = 'TaskA03/simple.in'
output = find_lines_with_date_from_file(filename)
for line in output:
print(line)

View File

@ -2,10 +2,10 @@ def extract_numbers(line):
numbers = []
current_number = ""
# Przechodzimy przez każdy znak w linii
for char in line:
if char.isdigit():
current_number += char # Dodajemy cyfrę do obecnej liczby
# Sprawdzamy, czy znak jest cyfrą (ASCII dla cyfr to 48-57)
if '0' <= char <= '9':
current_number += char
else:
if current_number: # Jeśli obecna liczba została zakończona
numbers.append(current_number)
@ -15,7 +15,14 @@ def extract_numbers(line):
if current_number:
numbers.append(current_number)
return " ".join(numbers) # Zwracamy liczby jako ciąg rozdzielony spacjami
# Ręczna implementacja metody join
result = ""
for i in range(len(numbers)):
result += numbers[i]
if i < len(numbers) - 1: # Dodajemy spację między liczbami
result += " "
return result
# Przetwarzanie danych wejściowych z pliku