آشنایی با برنامه نویسی پایتون

سلام به همه.امیدوارم که حال دلتون خوب باشه :)
به وبلاگ من خوش اومدین *.*
اینجا قراره با آموزش زبان پایتون پیش بریم و در آخر یه برنامه نویسِ خفن بشیم.
با من همراه باشید.

۸ مطلب در آذر ۱۳۹۹ ثبت شده است

  • ۰
  • ۰

۴-برنامه ای بنویسید که با استفاده از تابع بازگشتی تمام زیر مجموعه های یک مجموعه را چاپ کند.

تمرین 4

  • Zahra Moradkhani
  • ۰
  • ۰

۳-برنامه ای بنویسید که با استفاده از تابع بازگشتی تقسیم دو عدد صحیح برهم را محاسبه کند.

تمرین 3

  • Zahra Moradkhani
  • ۰
  • ۰

۲-برنامه ای بنویسید که به صورت بازگشتی ترکیب دو عدد n و r را محاسبه کند.

تمرین 2

  • Zahra Moradkhani
  • ۰
  • ۰

۱-برنامه ای بنویسید که یک لیست را از ورودی دریافت کرده و با استفاده از یک تابع بازگشتی مجموع مقادیر لیست را محاسبه و چاپ کند.

تمرین 1

  • Zahra Moradkhani
  • ۰
  • ۰

4-خروجی قطعه کد زیر چیست؟جدول Trace آن را رسم کنید یا عملکرد کد آن را توضیح دهید.

تمرین 4

 

1-  لیست  [‘ Amir ’ , ‘ barry ‘ , ‘ Chales ‘ , ‘ Dao ‘ ] در خانه حفظه names1  قرار میگیرد.

 

2-   names1  در خانه حافظه ای به نام names2  قرار میگیرد

 

3-  کپی از names1  میگیرد و در خانه حافظه ای به نام names3 قرار میگیرد .

 

4-  رشته اندیس 0 (سطر0) خانه حافظه names2  ، از ‘ Amir ‘  به رشته ‘ Alice ‘ تغییر میدهد.

 

5- به جای رشته ‘ Barry ‘ رشته ‘ Bob ‘ را جاگذاری میکند . تغییرات حاصل:

 

[' Names1 = [‘ Alice ‘ , ‘ Barry ‘ , ‘ Chales ‘ , ‘ Dao 

 

[' Names2 = [‘ Alice ‘ , ‘ Barry ‘ , ‘ Chales ‘ , ‘ Dao 

 

[' Names3 = [‘ Amir ‘ , ‘ Bob ‘ , ‘ Chales ‘ , ‘ Dao 

 

6- در مرحله بعد یک خانه حافظه ای به نام sum تعریف کرده مقدار 0 را داخل آن قرار میدهیم.

 

7- حلقه for را که val آن ls و sequence آن شامل سه لیست بالاست فراخوانی میکنیم.

 

8- اگر رشته موجود در اندیس 0 که درnames1  قرار دارد با ‘ Amir ‘ برابر بشد آنگاه : sum = sum+1

 

9- شرط 12 برقرار است چون در خانه های names1  و names2 رشته Alice به طور یکسان وجود دارد پس:

 

[' Names1 = [‘ Alice ‘ , ‘ Barry ‘ , ‘ Chales ‘ , ‘ Dao 

 

[' Names2 = [‘ Alice ‘ , ‘ Barry ‘ , ‘ Chales ‘ , ‘ Dao 

 

Sum = s+1   à  sum = 2

 

 10- اگر رشته موجود در اندیس 1 (سطر 1 ) با رشته ‘ Bob ‘ برابر باشد آنگاه :

 

sum = sum+10

 

[' Names3 = [‘ Amir ‘ , ‘ Bob ‘ , ‘ Chales ‘ , ‘ Dao 

 

 

11-  شرط 13 نیز برقرار است پس در sum  قبلی مقدار 10 نیز جمع بسته میشود

 

Sum = sum +10  à sum = 12

 

 حلقه تکرار میشود ولی چون شرط ها دیگر برقرار نیستند از حلقه خارج میشود

 

12- عناصر موجود در خانه sum  را چاپ کن

  • Zahra Moradkhani
  • ۰
  • ۰

3-برنامه ای بنویسید که باقیمانده یک عدد بر 11 را بدون استفاده از % حساب کند.

تمرین 3

  • Zahra Moradkhani
  • ۰
  • ۰

2-تفاوت استفاده از تابع () sort با تابع () sorted برای مرتب سازی لیست ها چیست؟

تابع sort لیست مربوطه را مرتب نموده و مقدار آن را در خودش ذخیره میکند و خروجی برنمی گرداند اما تابع sorted خروجی داشته و می توان آن را در یک متغیر ذخیره نمود.در واقع sort متودی از یک iterable می باشد و از این رو نیازی به معرفی لیست موردنظر به عنوان ورودی ندارد اما به تابع sorted  باید iterable موردنظر برای مرتب سازی به عنوان ورودی داده شود.

  • Zahra Moradkhani
  • ۰
  • ۰

1-اگر در دستور دوم قطعه برنامه زیر،به جای L1=L2 بنویسیم [:] L2=L1 نتیجه چه تفاوتی خواهد کرد؟آیا در عملکرد برنامه تاثیرگذار است؟امتحان کرده و توضیح دهید.تمرین یکتمرین یک_2

خیر در عملکرد برنامه تاثیرگذار نیست.

حالت اول خودِ لیست را بطور کلی دریافت می کند و برابر لیست دوم قرار می دهدو در حافظه یک خانه یکسان را اشغال میکند و لذا هر تغییری در هر کدام از دو لیست اعمال کنیم در دیگری نیز اعمال خواهد شد ولی در حالت دوم،لیست اول را جز به جز کپی نموده و لیست جدید را تشکیل می دهد که اگر چه لیست های تشکیل شده در هر دو حالت یکسان خواهند بود اما در حالت دوم دو لیست به بخش های مجزایی در حافظه اختصاص داشته و لذا تغییرات ثانویه در هر یک از آن ها در دیگری اعمال نخواهد شد.با این وجود با توجه به اینکه L1 پیش از اعمال تغییر در L2 چاپ شده خروجی دو کد یکسان خواهد بود اما وضعیت متغیر ها در حافظه در دو حالت فوق متفاوت خواهد بود.

  • Zahra Moradkhani