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

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:21

0.0

فایل را با open بخوانید، با readlines یا یک حلقه سطر به سطر، هر سطر را با strip پاک کنید و با float تبدیل کنید (در صورت نیاز از try/except برای نادیده‌گرفتن سطرهای نامعتبر استفاده کنید). سپس از تابع built-in sorted با پارامتر key=abs و reverse=True برای مرتب‌سازی بر اساس قدرمطلق استفاده کنید و نتایج را به صورت رشته (مثلاً با فرمت پیش‌فرض یا قالب دلخواه) در فایل خروجی بنویسید. برای پردازش‌های بزرگ می‌توانید از تولیدکننده‌ها (generators) و برای تحلیل عددی پیچیده‌تر از کتابخانه‌هایی مثل NumPy بهره ببرید، اما برای سطح مبتدی استفاده از لیست‌ها و sorted کافی است.

توسط پژوهشگر در 202 روز قبل ساعت 02:21
دسته بندی ها: Python Python for beginner
sara در 202 روز قبل ساعت 10:00

این راه‌حل با خواندن خط به خط فایل و تبدیل هر خط به عدد اعشاری کار می‌کند و سطرهای نامعتبر را با استفاده از try/except نادیده می‌گیرد. سپس از تابع sorted با key=abs و reverse=True برای مرتب‌سازی قدرمطلق استفاده می‌شود و نتیجه در یک لیست نگهداری می‌شود. برای خروجی به فایل، هر مقدار را به رشته تبدیل کرده و در خطوط جدا می‌نویسیم. اگر فایل بزرگ است، می‌توانید از ژنراتورها یا راه‌حل‌های مبتنی بر NumPy استفاده کنید و همچنین امکان فرمت‌دهی دلخواه برای نمایش اعداد وجود دارد.

گزارش

1 پاسخ

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

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