یک اسکریپت پایتون بنویسید که دو فایل متنی حاوی لیستی از اعداد (هر عدد در یک خط) را بخواند، با استفاده از set مقادیر یکتا را استخراج کند و سپس اعداد مشترک و اعداد منحصر به هر فایل را در دو فایل خروجی جدا ذخیره کند.
2.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:42 0.0
برای حل این مسأله از فایلخوانی با with open، تبدیل رشتهها به عدد با map(int) یا map(float) و ساختار دادهٔ داخلی set استفاده کنید. ابتدا هر فایل را بخوانید، خطوط خالی و فاصلهها را پاک کنید و به لیستی از اعداد تبدیل کنید، سپس با set() یکتاییها را بگیرید؛ برای اعداد مشترک از intersection (&) و برای تفاوتها از difference (-) استفاده کنید و خروجیها را با sorted مرتب کرده و در فایلهای خروجی بنویسید. نکتهها: از strip() برای حذف فاصلههای اضافی استفاده کنید، هنگام تبدیل به عدد خطاها را مدیریت کنید و برای خوانایی خروجی اعداد را هر کدام در یک خط بنویسید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بهبود robustness، بهجای تبدیل مستقیم با map(int) روی همه خطوط، از تبدیل امن با try/except استفاده کن تا خطوط نامعتبر منجر به توقف برنامه نشوند. همچنین پس از strip کردن خطوط، وجود خطوط خالی را فیلتر کن و در صورت وجود اعداد اعشاری، تصمیم بگیر که از int یا float استفاده شود و خطاها را با استثناها مدیریت کن. با استفاده از sets و عملیات intersection برای مشترک و difference برای تفاوتها، خروجیها را با sorted مرتب کرده و در فایلهای خروجی بنویس. اگر فایلها خیلی بزرگ هستند، به پردازش خط به خط یا استفاده از ساختارهای مصرف حافظه کمتر فکر کن و برای مدیریت مسیرها از pathlib استفاده کن.
گزارش