Форум сайта python.su
Дан текстовый файл, каждая строка которого содержит несколько чисел, разделенные пробелами (вещественные числа имеют ненулевую дробную часть). Создать файл целых чисел, содержащий все целые числа из исходного файла (в том же порядке).
Офлайн
import os fname = "/file.txt" fname_result = "/result.txt" fpath = os.path.join(os.getcwd() + fname) fpath_result = os.path.join(os.getcwd() + fname_result) new_lines = [] with open(fpath) as data: for line in data.readlines(): valid_numbers = [] for number in line.split(): try: if int(number): valid_numbers.append(number) except ValueError: pass # print(f"The {number} was skiped.") new_lines.append(valid_numbers) with open(fpath_result, "w") as result: for line in new_lines: result.write(" ".join(line) + "\n")
Офлайн
#!/usr/bin/env python3 # Дан текстовый файл, каждая строка которого содержит несколько чисел, # разделенные пробелами (вещественные числа имеют ненулевую дробную # часть). Создать файл целых чисел, содержащий все целые числа из # исходного файла (в том же порядке). def is_number(s): return '.' not in s def run(): ifname = 'file.txt' ofname = 'output.txt' with open(ifname, encoding='utf-8') as fin, \ open(ofname, 'w', encoding='utf-8') as fout: for line in fin: numbers = ' '.join(filter(is_number, line.split())) if numbers: print(numbers, file=fout) run()
12 34 56
12.5 34.0 56.3
12.8 10 34.3
78 90 56.0
12 34 56
10
78 90
Отредактировано py.user.next (Май 3, 2023 23:46:07)
Офлайн