یک اسکریپت پایتون بنویسید که دو فایل متنی حاوی لیستی از اعداد (هر عدد در یک خط) را بخواند، با استفاده از set مقادیر یکتا را استخراج کند و سپس اعداد مشترک و اعداد منحصر به هر فایل را در دو فایل خروجی جدا ذخیره کند.

2.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:42

0.0

برای حل این مسأله از فایل‌خوانی با with open، تبدیل رشته‌ها به عدد با map(int) یا map(float) و ساختار دادهٔ داخلی set استفاده کنید. ابتدا هر فایل را بخوانید، خطوط خالی و فاصله‌ها را پاک کنید و به لیستی از اعداد تبدیل کنید، سپس با set() یکتایی‌ها را بگیرید؛ برای اعداد مشترک از intersection (&) و برای تفاوت‌ها از difference (-) استفاده کنید و خروجی‌ها را با sorted مرتب کرده و در فایل‌های خروجی بنویسید. نکته‌ها: از strip() برای حذف فاصله‌های اضافی استفاده کنید، هنگام تبدیل به عدد خطاها را مدیریت کنید و برای خوانایی خروجی اعداد را هر کدام در یک خط بنویسید.

توسط پژوهشگر در 203 روز قبل ساعت 02:42
دسته بندی ها: Python Python for beginner
nima در 203 روز قبل ساعت 08:48

برای بهبود robustness، به‌جای تبدیل مستقیم با map(int) روی همه خطوط، از تبدیل امن با try/except استفاده کن تا خطوط نامعتبر منجر به توقف برنامه نشوند. همچنین پس از strip کردن خطوط، وجود خطوط خالی را فیلتر کن و در صورت وجود اعداد اعشاری، تصمیم بگیر که از int یا float استفاده شود و خطاها را با استثناها مدیریت کن. با استفاده از sets و عملیات intersection برای مشترک و difference برای تفاوت‌ها، خروجی‌ها را با sorted مرتب کرده و در فایل‌های خروجی بنویس. اگر فایل‌ها خیلی بزرگ هستند، به پردازش خط به خط یا استفاده از ساختارهای مصرف حافظه کمتر فکر کن و برای مدیریت مسیرها از pathlib استفاده کن.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری