یک برنامه پایتون بنویسید که فایل متنی 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 مدیریت کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:19
دسته بندی ها: Python Python for beginner
arman در 201 روز قبل ساعت 06:49

برای این کار فایل را با استفاده از with open بخوانید و خطوط را یکی‌یکی پردازش کنید تا کنترل استثناها ساده باشد. برای اعداد منفی علامت منفی را حفظ کنید و خروجی را با format(abs(n), 'o') یا oct(n)[2:] بدون پیشوند '0o' بنویسید. خطاهای تبدیل را با یک بلاک try/except مدیریت کنید تا خطوط نامعتبر کل برنامه را قطع نکند و ترتیب خطوط حفظ شود. همچنین استفاده از format(n, 'o') به‌جای oct(n) ساده‌تر است و نتیجه را بدون پیشوند می‌دهد.

گزارش

1 پاسخ

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

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