تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
خرید فالوور
خرید فالوور اینستاگرام
خرید باطری اصلی ایفون سامسونگ هواوی شیائومی
خرید فالوور ایرانی
Buy Website Traffic
Buy Organic Website Traffic
خرید فالوور اینستاگرام
خرید ممبر تلگرام
دستگاه جوجه کشی حرفه ای
دستگاه جوجه کشی

[ + افزودن آگهی متنی جدید ]



نمايش نتايج 1 به 3 از 3

نام تاپيک: رفع مشکل یک برنامه ی پایتون

  1. #1
    کاربر فعال ویندوز smss.exe's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    تهران
    پست ها
    1,144

    پيش فرض رفع مشکل یک برنامه ی پایتون

    سلام
    یه تمرین هست به این صورت:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    وچیزی که من نوشتم این:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی ظاهرا درست نیست.
    توی مثالی که خودش زده درست کار میکنه ولی توی این مورد مثلا کار نمیکنه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by smss.exe; 28-03-2020 at 12:01.

  2. #2
    اگه نباشه جاش خالی می مونه Ali_vdo's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    پایتخت کشور
    پست ها
    366

    1

    سلام

    کد شما یک ایراد کوچیک داره که با کمی دقت پیدا می‌شه.
    تابع find همواره اندیس (index) اولین مورد از زیررشته‌ای (substring) که بهش ورودی بدید رو خروجی می‌ده. شما این رو به خوبی در متغیر l4 رعایت کردید اما برای بقیه نه. به طور خاص اگر دقت کنید در رشته‌ی مثال شما حرف o برای اولین بار قبل از تمام حروف دیگه اومده. بنابراین find همواره عددی برمی‌گردونه که از بقیه کوچیک‌تره و اون شرط l5 > l4 غلط از آب درمی‌آد.
    باید تغییری مثل این رو اعمال کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته باید توجه کنید که اعمال این تغییر باعث می‌شه بخش‌های دیگه کد شما هم نیاز به تغییر پیدا کنن (مثل شروط hello). به این هم فکر کنید که با وجود این تغییر اگر یکی از مقادیر l منفی شد (مثلا حرف e در ورودی وجود نداشت)، تکلیف بقیه چی می‌شه؟ آیا می‌تونید راهی برای حل این مشکل پیشنهاد کنید؟ راه دیگری به ذهنتون می‌رسه؟ (سعی می‌کنم بهتون در حل مسئله جهت مناسب بدم تا خودتون به جواب برسید. فکر کنم خودتون هم این رو ترجیح بدید تا گرفتن پاسخ مستقیم رو)

    من سطح مهارت شما در برنامه‌نویسی و منابع آموزشیتون رو نمی‌دونم اما به عنوان تمرین برنامه‌نویسی (و نه لزوما پایتون) به این فکر کنید که چرا راه حل شما بهینه نیست.
    سعی کنید دنبال راهی باشید که با یک بار پیمایش رشته‌ی ورودی بتونه این مسئله رو حل کنه. راهی پیدا کنید که بدون توابعی مثل find این مسئله رو حل کنید (به کمک حلقه‌ها و تبدیل رشته‌ی ورودی به یک لیست از کاراکترها)
    در ضمن برای جلوگیری از بروز چنین مشکلاتی خوبه که از یه محیط توسعه با قابلیت دیباگ استفاده کنید تا مقدار تمام متغیرهای مورد نظر در هر لحظه از اجرای کد رو بهتون نشون بده. در مورد این مشکل خاص می‌تونستید ببینید مقدار l5 کوچک‌تر از بقیه‌اس و شاید زودتر می‌تونستید خودتون مشکل رو حل کنید. درباره‌ی این موضوع هم تحقیق کنید بد نیست.

    موفق باشید
    Last edited by Ali_vdo; 28-03-2020 at 14:21.

  3. این کاربر از Ali_vdo بخاطر این مطلب مفید تشکر کرده است


  4. #3
    کاربر فعال ویندوز smss.exe's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    تهران
    پست ها
    1,144

    پيش فرض

    ممنون خیلی توضیحاتتون خوب بود.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •