یک برنامه پایتون بنویسید که فایل متنی numbers.txt را بخواند (هر سطر یک عدد صحیح دهدهی) و معادل هشتتایی هر عدد را بدون پیشوند "0o" در فایل خروجی octal.txt بنویسد، بهطوریکه ترتیب سطرها حفظ شود.
4.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:19 0.0
برای حل این مسئله از تابع داخلی oct در پایتون یا فرمت رشتهای با قالب 'o' استفاده کنید؛ oct(n) پیشوند "0o" اضافه میکند پس برای حذف آن میتوانید oct(n)[2:] یا format(n, 'o') را بهکار ببرید. برای اعداد منفی باید علامت منفی را جدا کنید (مثلاً '-' + format(abs(n),'o')) یا از شرط استفاده کنید. فایل را با open بخوانید، هر سطر را strip کنید و به int تبدیل کنید و سپس خروجیهای متناسب را در فایل خروجی بنویسید؛ برای نوشتن جمعآوری شده از list comprehension یا حلقه ساده استفاده کنید و خطاهای تبدیل را با try/except مدیریت کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای این کار فایل را با استفاده از with open بخوانید و خطوط را یکییکی پردازش کنید تا کنترل استثناها ساده باشد. برای اعداد منفی علامت منفی را حفظ کنید و خروجی را با format(abs(n), 'o') یا oct(n)[2:] بدون پیشوند '0o' بنویسید. خطاهای تبدیل را با یک بلاک try/except مدیریت کنید تا خطوط نامعتبر کل برنامه را قطع نکند و ترتیب خطوط حفظ شود. همچنین استفاده از format(n, 'o') بهجای oct(n) سادهتر است و نتیجه را بدون پیشوند میدهد.
گزارش