یادداشت‌های عمومی من

تلاشی برای مفید‌تر بودن

یادداشت‌های عمومی من

تلاشی برای مفید‌تر بودن

يكشنبه, ۲۲ تیر ۱۳۹۳، ۰۲:۵۷ ق.ظ

انتخاب شماره‌ی گلچین سیم‌کارت همراه اول

اگه بخواید از صفحه‌ی فروش سیم‌کارت همراه اول یه شماره‌ی گلچین انتخاب کنید باید دونه دونه شماره‌ها رو انتخاب کنید ببینید قابل واگذاری هست یا نه. با توجه به این‌که اکثر شماره‌ها قابل واگذاری نیستن، با اجرا کردن این اسکریپت شروع می‌کنه تمام شماره‌های از ورودی اسکریپت به بعد رو چک می‌کنه و اون‌هایی که قابل واگذاری هستن رو echo می‌کنه و یک فایل‌هم به اسمشون توی فولدر mci می‌سازه

#!/usr/bin/bash
# sample usage: ./script.sh 9129376600
start=$1 trap ctrl_c INT function ctrl_c(){ echo "checked $start - $i" exit 0 } mkdir mci 2>/dev/null for ((i=$start; $i>0; i=$i+1)); do if [ "true" = "`curl -s http://sim.mci.ir/chk-number-availability?number=0$i`" ]; then touch "mci/0$i"; echo "0$i"; fi done

من تقریبا تمام شماره‌هایی که تا امشب برای تهران با پیش‌شماره ۹۱۲ باز بودن رو در آوردم. (دریافت)

با یه اسکریپت دیگه‌هم می‌تونید این‌ها رو بر حسب یک تابع roundness مرتب کنید:

#!/usr/bin/ipython
from random import shuffle
b = !ls mci/
shuffle(b)
cnt = lambda s: sum(1 for i in zip(s+'#', '#'+s) if len(set(i))==1)
print '\n'.join(sorted(b, key=lambda s: len(set(s))-0.5*s.count('0')-0.5*cnt(s)**2)[:100])

و راحت‌تر شماره‌ رو انتخاب کنید :)

۹۳/۰۴/۲۲

نظرات  (۱)

بابا خفن.
حیف ما که به همین ۰۹۳۷ قناعت کردیم.
:)

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی