خب، احتمالا همانطور که میدانید برای تولید یک بازه عددی از تابع range() باید استفاده کنیم که خواهیم دید. کار این تابع تولید عدد در بازه خاصی هست و در آرگومان اختیاری نیز چند تا در میان هم قبول میکند. مثلا از بازه ۳ تا ۹۹ میخواهیم که هر ۳ تا ۳ تا عدد را جدا و تولید کند. پس اعداد ما میشوند ۳ و ۶ و ۹ و ۱۲ و الی آخر.
بپردازیم به بحث اصلی. اول از همه یک تابع range() ساده برای عددهای مورد نظر مینویسیم:
ما در این مثال میخواهیم که شمارههای بین 9359510000 و 9359510010 را تولید کنیم که خود شماره 9359510010 شامل آن نمیشود و تا یک عدد قبل آن تولید میشود. دقت کنید که تابع range عدد صحیح و غیر اعشاری که رقم اول آن 0 باشد را قبول نمیکند که این مورد را پایینتر برطرف میکنیم.
حالا برای اینکه عددها را نمایش دهیم باید از حلقه for استفاده کنیم:
خروجی:
9359510000
9359510001
9359510002
9359510003
9359510004
9359510005
9359510006
9359510007
9359510008
9359510009
برای اینکه شمارهها را با 0 ابتدایی یا حتی فرمت کد کشوری یعنی +98 نشان دهیم میتوانیم از فرمت f-string هم استفاده کنیم:
خروجی:
09359510000
09359510001
09359510002
09359510003
09359510004
09359510005
09359510006
09359510007
09359510008
09359510009
همین کار را برای کد ایران +98 هم میتوانید انجام دهید.
حالا فرض کنیم که شما همه شمارههای اپراتورهای ایرانسل و همراه اول را میخواهید تولید کنید و در یک یا چند فایل ذخیره کنید. برای این کار باید چه کنیم؟
phone_numbers = range(9359510000, 9359510010)
for phone_number in phone_numbers as numbers:
with open('numbers935.txt', 'a'):
numbers.write(f'0{phone_number}\n')
در این کد پس از حلقه for، ما از تابع open() و عبارت with استفاده کردیم که یک فایل به نام numbers935.txt را میسازیم و mode آن را نیز a یا append قرار دادیم که پس از هر بار تکرار حلقه، عبارت دلخواه ما را به انتهای فایل اضافه کند.
مودهایی که برای این تابع داریم a یا append هستند و w یا write که برای نوشتن استفاده میشوند.
تفاوت a و w را با یک مثال در ابتدا برای شما نشان میدهیم و بعد سراغ خروجی اصلی برنامه میرویم.
مود w:
در مود رایت، هر بار حلقه نوشته میشود و چیزی به انتها اضافه نمیشود. در حقیقت چون آخرین تکرار حلقه با عبارت 09359510009 هست بنابراین در فایل مورد نظر ما تنها یک خط و آن ها 09359510009 نوشته شده و نمایش داده میشود.
مود a:
و به همین ترتیب الی آخر خروجی داریم که هر بار که حلقه تکرار شود شماره و عدد در فایل ذخیره میشود و بعد هم خط بعدی و خروجی بعدی.
و حالا خروجی اصلی کد ما که در فایل ذخیره شده است:
نظرات 2
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.
Fazel.hossein1382
جالب بود ممنون
یه سوال دارم
به نظر شما نسخه 3.9 پایتون بهتره یا 3.8 ؟؟
سعید فضل اله زاده نویسنده
سلام
خوشحالم.
در خصوص نسخه اول بستگی به خودتان داره که از چه نسخه ای استفاده کنید و برنامه و پروژه تان با کدام نسخه ران شده باشد.
مثلا بعضی ماژول ها و کتابخانه ها هنوز با نسخه ۳.۹ سازگاری کامل ندارند که باید کمی روی آن ها کار کرد تا کار کنند یا که از نسخه ۳.۸ استفاده کنید.
با تشکر