Книга «Изучаем Python»



Pdf көрінісі
бет116/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   112   113   114   115   116   117   118   119   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

ПРИМЕЧАНИЕ
Читая данные из текстового файла, Python интерпретирует весь текст в файле как строку . 
Если вы читаете из текстового файла число и хотите работать с ним в числовом контек-
сте, преобразуйте его в целое число функцией int() или в вещественное число функцией 
float() .
Большие файлы: миллион цифр
До настоящего момента мы ограничивались анализом текстового файла, который 
состоял всего из трех строк, но код этих примеров будет работать и с намного 
большими файлами. Начиная с текстового файла, содержащего значение «пи» 
до 1 000 000 знаков (вместо 30), вы сможете создать одну строку, которая содержит 
все эти цифры. Изменять программу вообще не придется — достаточно передать ей 
другой файл. Также мы ограничимся выводом первых 50 цифр, чтобы не пришлось 
ждать, пока в терминале не прокрутится миллион знаков:
pi_string.py
filename = 'pi_million_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string += line.strip()
print(pi_string[:52] + "...")
print(len(pi_string))
Из выходных данных видно, что строка действительно содержит значение «пи» 
с точностью до 1 000 000 знаков:
3.14159265358979323846264338327950288419716939937510... 
1000002
Python не устанавливает никаких ограничений на длину данных, с которыми 
вы можете работать. Она ограничивается разве что объемом памяти вашей 
системы.
ПРИМЕЧАНИЕ
Для запуска этой программы (и многих других примеров, приведенных ниже) необходимо загру-
зить ресурсы по адресу https://www .nostarch .com/pythoncrashcourse/ .


192
Глава 10 • Файлы и исключения
Проверка дня рождения
Меня всегда интересовало, не встречается ли мой день рождения среди цифр числа 
«пи»? Воспользуемся только что созданной программой для проверки того, входит 
ли запись дня рождения пользователя в первый миллион цифр. Для этого можно 
записать день рождения в виде строки из цифр и посмотреть, присутствует ли эта 
строка в 
pi_string
:
filename = 'pi_million_digits.txt'
with open(filename) as file_object:
lines = file_object.readlines()
pi_string = ''
for line in lines:
pi_string += line.rstrip()
 
birthday = input("Enter your birthday, in the form mmddyy: ")
 
if birthday in pi_string:
print("Your birthday appears in the first million digits of pi!")
else:
print("Your birthday does not appear in the first million digits of pi.")
В точке 

программа запрашивает день рождения пользователя, а затем в точке 

проверяет вхождение этой строки в 
pi_string
. Пробуем:
Enter your birthdate, in the form mmddyy: 
120372
Your birthday appears in the first million digits of pi! 
Оказывается, мой день рождения встречается среди цифр «пи»! После того как 
данные будут прочитаны из файла, вы сможете делать с ними все, что сочтете 
нужным.


Достарыңызбен бөлісу:
1   ...   112   113   114   115   116   117   118   119   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет