سری اول تمرینات پایتون

زبان پایتون

به نام خدا

در اینجا یک سری تمرینات پایه ای و مهم پایتون رو قرار دادم که یادگیری اونها به پیشرفت شما در برنامه نویسی پایتون کمک خواهد کرد

عناوین سوالات عبارتند از :

  1. عدد پالیندروم(palindromic)
  2. لیست کردن اعداد پالبندورم به نحوی خاص و(بدون اعداد تکراری)
  3. خواندن درون یک فایل
  4. اعداد پاندیجیتال(Pandigital)
  5. دریافت رشته و بررسی یک شرط
  6. دنباله کولاتز(تابع بازگشتی)
  7. دنباله کولاتز(روش مستقیم)
  8. خواندن از روی فایل و جدا کردن آن بوسیله یک کاراکتر

فایل های مورد نیاز سوال هم در اختیار شما قرار میگیرد

و سورس کد پاسخ این سوالات بصورت کاملا رایگان در دسترس شماست 🙂

1- یک عدد پالیندروم (palindromic) یا واروخوانه است اگر با خوانده شدن از چپ به راست و از راست به چپ تغییری نکند.

برنامه ای بنوسید که اعداد پالیندروم که حاصل ضرب دو عدد 4 رقمی است را در یک لیست ذخیره کرده و لیست را نمایش دهد.(لیست نباید شامل اعداد تکراری باشد.)

مثال:

عدد 18099081 یک عدد پالیندروم است که از حاصل ضرب 4851 در 3731 ساخته می شود.

 

 

2- برنامه ای بنویسید که لیست اعداد کوچکتر از 1000000 را بدست آورد که در مبنای 10 و در مبنای 2 پالیندروم هستند. این اعداد باید در یک فایل به اسم palindrom.txt به فرمت زیر ذخیره شوند.

Decimal number : binary number

585:1001001001

مثال:

عدد 585 یک عدد پالیندروم است که در مبنای 2 این عدد برابر با 1001001001 است.

راهنمایی: برای تبدیل عدد به مبنای دو می‌‌توانید از تابع bin() استفاده کنید.

 

 

3- فایل numbers.txt شامل 200 عدد 25 رقمی است. (هر سطر شامل یک عدد)

برنامه ای بنویسید که شامل بخش های زیر باشد:

  • یک تابع که با گرفتن نام فایل، فایل مورد نظر را خوانده و اعداد را به صورت integer در یک لیست ذخیره کند و لیست حاصل برگرداند.
  • یک تابع بنویسید که با گرفتن لیست اعداد، یک متغیر کلید این لیست اعداد را به صورت یک فایل شامل اعداد زوج یا اعداد فرد مرتب شده تبدیل کند. متغیر کلید تعیین کننده فرد بودن یا زوج بودن لیست است.اعداد درون فایل باید به فرمت فایل اصلی و از بزرگ به کوچک مرتب شده باشند.
  • در برنامه اصلی ابتدا تابع 1 و سپس 2 بار تابع 2 را فراخوانی کنید.
  • توجه :فایل های مورد نیاز سورس کد ها آخر همین پست قرار داده شده که براحتی میتوانید دانلود کنید 🙂

 

 

4- یک عدد در مبنای 10 پاندیجیتال(Pandigital)  است اگر تکرار ارقام 0 تا 9 در آن عدد فقط یک بار باشد.

برنامه ای بنویسید که شامل بخش های زیر باشد.

  • ابتدا تمام اعداد پاندیجیتال مبنای 10 را بدست آورید.(راهنمایی: می توانید از کتابخانه itertools و ماژول permutations کمک بگیرید)
  • تابعی بنویسید که شرایط زیر را برای اعداد چک کند.

برای مثال عدد 1406357289 را درنظر بگیرید.

  1. 1 4   0   6  3   5  7   2  8   9
  2. d0 d1 dd3 dd5 dd7 dd9
  3. d1d2d3=406 is divisible by 2
  4. d2d3d4=063 is divisible by 3
  5. d3d4d5=635 is divisible by 5
  6. d4d5d6=357 is divisible by 7
  7. d5d6d7=572 is divisible by 11
  8. d6d7d8=728 is divisible by 13
  9. d7d8d9=289 is divisible by 17
  • تمام اعدادی که شروط بالا برای آن ها صادق است را نمایش دهید.

(راهنمایی: برای چک کردن اعداد می‌توانید از تبدیل اعداد به رشته و برعکس استفاده کنید.

راهنمایی: بزرگترین عدد مورد نظر سوال از 6000000000 کوچک تر است. پس می توانید تعداد اعداد برای بررسی شدن را محدود تر کنید.)

هر روش برای کاهش زمان اجرای برنامه امتیاز مثبت خواهد داشت.

 

 

 

5- تابعی بنویسید که یک رشته را به عنوان ورودی دریافت کرده و اگر در این رشته تعداد تکرار کلمه computer از تکرار کلمه student بیشتر بود مقدار True و در غیر این صورت مقدار False برگرداند.

 

 

 

6- دنباله کولاتز طبق رابطه زیر تعریف می‌شود.

این حدس بیان می کند که به ازای هر مقدار ورودی n این دنباله به مقدار 1 ختم می‌شود.

تابعی بازگشتی بنویسید که به ازای هر مقدار ورودی این دنباله را محاسبه و نمایش دهد.

مثال: به ازای مقدار 13 برنامه باید دنباله زیر را نمایش دهد.

13 > 40 > 20 > 10 > 5 > 16 > 8 > 4 > 2 > 1

 

 

7- تابعی بنویسید که دنباله کولاتز سوال قبل را به صورت مستقیم محاسبه کند.

حال طولانی ترین دنباله کولاتز را در بین اعداد زیر یک میلیون پیدا کند.

 

 

8- فایل names.txt  شامل 5163 اسم است که با کاراکتر “,” از هم جدا شده اند.

برنامه ای بنویسید که شامل بخش های زیر باشد.

  1. تابعی بنویسید که فایل مورد نظر را خوانده اسامی را درون یک لیست به ترتیب حروف الفبا ذخیره کند.
  2. تابعی بنویسید که با دریافت لیست مرتب شده لیستی از دیکشنری به فرمت زیر را برگرداند.

{“id”: int , “name”:””, “value”:0}

برای مثال دیکشنری معادل با  نام AARON که اولین نام به ترتیب حروف الفباست به صورت زیر خواهد بود.

{“id”: 1 , “name”:”AARON”, “value”:0}

  1. تابعی بنویسید که مقدار value را به ازای هر اسم محاسبه کند.

این مقدار برابر است با ضرب مقدار ID در ارزش الفبایی هر اسم. ارزش الفبایی به این معنی است که جایگاه حروف در الفبا مشخص شده و مقدار عددی متنظار با آن قرار گیرد.

برای مثال این مقدار برای اسم AARON برابر با 1+1+18+15+14=49 است که مقدار Value  نیز به این علت که ID برابر با 1 است برابر با 49 خواهد شد.

 

 

 

این سری از سوالات به پایان رسید 

اگه خواستید به اشتراک بگذارید حتما با ذکر منبع باشه 🙂

تمام فایل هایی که نیاز دارید برای سوال سه و هشت رو در زیر قرار دادم 

رمز فایل فشرده :  mohandesjan.ir

تمام حروف را کوچک وارد کنید 

برای دانلود روی من کلیک کنید

2 thoughts on “سری اول تمرینات پایتون

  1. ??? says:

    با سلام و تبریک بابت سایت مهندس جان
    مطالب بسیار کاربردی وکلیدی بود
    ممنون از مهندس جان ??

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *