0% found this document useful (0 votes)
8 views31 pages

Python Lesson

programming lesson python python programming

Uploaded by

mohamadtalep78
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views31 pages

Python Lesson

programming lesson python python programming

Uploaded by

mohamadtalep78
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

‫‪Python Basics‬‬

‫‪ -1‬ﺟﻤﻞ اﻟﻄﺒﺎﻋﺔ ‪print‬‬

‫ان ﺷﺎء ا رح ﻧﺘﻌﺮف ﻋﻠﻰ‬


‫ﺟﻤﻞ اﻟﻄﺒﺎﻋﺔ واﻟﻠﻲ ﻫﻴﺔ‪print :‬‬
‫اذا ﺑﺪي اﻃﺒﻊ ﻧﺺ )رﺳﺎﻟﺔ( او اﻃﺒﻊ ﻗﻴﻤﺔ ﻣﺨﺰﻧﺔ ﺑﻤﺘﻐﻴﺮ او اﻃﺒﻊ‬
‫ﻣﺠﻤﻮﻋﺔ ارﻗﺎم او اﻃﺒﻊ ﺗﻌﺒﻴﺮات ﺣﺴﺎﺑﻴﺔ ‪expressions‬‬
‫ﻛﻞ ﻫﺎد ﺑﺘﻘﺪر ﺗﻄﺒﻌﻮ وﺗﻌﺮﺿﻮ ﻟﻠﻤﺴﺘﺨﺪم‪...‬‬

‫واﻟﺴﺆال ‪ :‬ﻛﻴﻒ ﻳﺘﻢ ﻛﺘﺎﺑﺔ اﻣﺮ اﻟﻄﺒﺎﻋﺔ ﺑﺎﻟﺒﺎﻳﺜﻮن؟‬


‫ﺑﺒﺴﺎﻃﺔ اﻣﺮ اﻟﻄﺒﺎﻋﺔ ﻫﻮ‪:‬‬
‫) (‪print‬‬

‫ﺑﻘﻠﺐ ﻫﻲ اﻻﻗﻮاس ﺑﻜﺘﺐ اي ﻧﺺ او رﻗﻢ او ﻋﻤﻠﻴﺔ‬


‫ﺣﺴﺎﺑﻴﺔ‬
‫و ﻻزم اذا ﺑﺪي اﻛﺘﺐ اﻟﻨﺼﻮص ف ﻻزم اﻛﺘﺒﻦ ﺑﻴﻦ " " او ' '‬

‫ﻣﺜﺎل ‪ :‬اذا ﺑﺪي اﻛﺘﺐ ﻛﻮد ﻟﻄﺒﺎﻋﺔ ﻋﺒﺎرة‬


‫‪welcome to python‬‬
‫ف ﺑﻜﺘﺐ‪:‬‬
‫)" ‪print("welcome to python‬‬
‫‪or‬‬
‫)'‪print('welcome to python‬‬

‫ﻃﺐ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻼرﻗﺎم او اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ‬


‫ﺗﻜﺘﺐ ﺑﺪون ‪.. double code or single code‬‬
‫ﺑﺲ ﻓﻲ ﻣﻼﺣﻈﺔ ﺻﻐﻴﺮة ﻟﻮ اﺳﺘﺨﺪﻣﺖ ‪double code or single‬‬
‫‪ code‬ﻣﻊ اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ رح ﻳﺘﻌﺎﻣﻞ ﻣﻌﺎ ﻛﺎﻧﻬﺎ ﻧﺺ ﻳﻌﻨﻲ ﺑﺘﻨﻌﺮض‬
‫ﺑﺸﻜﻠﻬﺎ اﻟﻤﻜﺘﻮب ﺑﺪون ﺗﻨﻔﻴﺬ اﻟﻌﻤﻠﻴﺔ اﻟﺤﺴﺎﺑﻴﺔ‪..‬‬
‫ﻣﺜﺎل ‪:‬‬
‫)"‪print("2*4‬‬
‫رح ﻳﻄﺒﻊ ‪4*2‬‬
‫اﻣﺎ اذا ﺑﺪي اﻟﻨﺎﺗﺞ ﻣﻦ ﻋﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ ‪ 2*4‬ف ﺑﻜﺘﺐ‪:‬‬
‫)‪print(2*4‬‬
‫رح ﻳﻄﺒﻊ ‪8‬‬

‫ﻃﻴﺐ اذا ﺑﺪي اﻃﺒﻊ ﻧﺺ ﻣﻊ ﺟﻤﻠﺔ ﺣﺴﺎﺑﻴﺔ‬

‫ﻣﺜﺎل‪:‬‬
‫‪2*4=8‬‬
‫ﺑﻜﻮن اﻟﺤﻞ ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬
‫)‪print("2*4=",2*4‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -2‬داﻟﺔ اﻻدﺧﺎل ‪input‬‬

‫ﻣﻮﺿﻮﻋﻨﺎ ﻫﻮو اﻟـ ‪User input in python‬‬

‫اﻟﺪرس اﻻول ﻛﺎن ﻋﻦ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ‪print‬‬

‫ﻫﻠﻖ رح ﻧﺘﻌﻠﻢ ﻃﺮﻳﻘﺔ ادﺧﺎل ﺑﻴﺎﻧﺎت ﻟﻠﻜﻮد ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺴﺘﺨﺪم‪...‬‬

‫وﻫﻴﺔ ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ )(‪input‬‬


‫ﺑﺒﺴﺎﻃﺔ اﻳﺎ ﻛﺎن اﻟﻜﻮد اﻟﻠﻲ ﻧﺤﻨﺎ ﺷﻐﺎﻟﻴﻦ ﻋﻠﻴﻪ‬
‫ﻓﺎﻟﻜﻮد ﺑﻴﺘﻜﻮن ﻣﻦ ﺟﺰء ﻟﻜﺘﺎﺑﺔ اﻟﻜﻮد وﺟﺰء ﻟﻌﺮض اﻟﻨﺘﻴﺠﺔ )‪(output‬‬
‫وﺣﻂ ﻋﻠﻰ ﻋﺒﺎرة ﻋﺮض اﻟﻨﺘﻴﺠﺔ اﻛﺘﺮ ﻣﻦ ﺧﻂ‪...‬‬

‫ﻳﻌﻨﻲ ﻧﺤﻨﺎ ﻟﻬﻠﻖ ﺑﺲ ﻣﻨﻜﺘﺐ ﻛﻮد وﻣﻨﻌﺮض اﻟﻨﺘﻴﺠﺔ ﺑﺎﻟـ ‪...output‬‬

‫اﻟﺴﺆال‪ :‬ﺑﻴﻘﺪر اﻟﻜﻮد ﻳﺴﺘﻘﺒﻞ اﻟﺒﻴﺎﻧﺎت اذا ﻗﻤﻨﺎ ﺑﻜﺘﺎﺑﺘﻬﺎ ﺑﺠﺰء اﻟـ‬
‫‪ output‬؟‬
‫ﻃﺒﻌﺎ ﻻ ﻣﺎ رح ﻳﺴﺘﻘﺒﻞ اي ﺑﻴﺎﻧﺎت‪...‬‬

‫ﺳﺆال ﻛﻴﻒ ﺑﻘﺪر ﻗﻮل ﻟﻠﻜﻮد ﺑﺎﻧﻮ ﺑﺪي دﺧﻞ ﺑﻴﺎﻧﺎت وﻟﻴﺲ ﻃﺒﺎﻋﺔ‬
‫ﺑﻴﺎﻧﺎت ؟‬
‫ﺑﺎﺳﺘﺨﺪم اﻟﺪاﻟﺔ ) (‪ input‬وﻫﻴﺔ اﻟﻤﺴﺆوﻟﺔ ﻋﻦ اﺳﺘﻘﺒﺎل اﻟﺒﻴﺎﻧﺎت ﻣﻦ‬
‫اﻟﻤﺴﺘﺨﺪم‪..‬‬

‫اﻟﺼﻴﻐﺔ اﻟﻌﺎﻣﺔ‬
‫)'‪variableName=input('Message‬‬

‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ اذا ﺑﺪي اﻛﺘﺐ ﻛﻮد ﻟﺤﻔﻆ وﻃﺒﺎﻋﺔ اﺳﻢ اﻟﻤﺴﺘﺨﺪم‬

‫اﻧﺎ رح اﻛﺘﺐ اﻟﻜﻮد واﺷﺮﺣﻮ ﺳﻄﺮ ﺳﻄﺮ‪...‬‬

‫'‪name='Test‬‬
‫)‪print(name‬‬
‫ﻫﻮن ﻋﺮﻓﺖ ﻣﺘﻐﻴﺮ ﻟﺤﻔﻆ اﺳﻢ اﻟﻤﺴﺘﺨﺪم‬
‫وﺑﺎﻟﺴﻄﺮ اﻟﺘﺎﻧﻲ رح ﻳﻄﺒﻊ ﻗﻴﻤﺔ ﻫﺎد اﻟﻤﺘﻐﻴﺮ‬

‫اﻣﺎ اذا ﺑﺪﻧﺎ ﻧﺨﻠﻲ اﻟﻤﺴﺘﺨﺪم ﻫﻮو اﻟﻠﻲ ﻳﻜﺘﺐ اﻻﺳﻢ وﺑﻌﺪﻳﻦ ﻧﻄﺒﻊ ﻫﺎد‬
‫اﻻﺳﻢ ف ﺑﻜﻮن اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬
‫)'‪name=input('enter the name‬‬
‫)‪print(name‬‬

‫ﻫﻮن ﺑﺲ اﺳﺘﺨﺪﻣﻨﺎ داﻟﺔ اﻻدﺧﺎل ‪ input‬ﻻﺳﺘﻘﺒﺎل اﻟﺒﻴﺎﻧﺎت ﻣﻦ‬


‫اﻟﻤﺴﺘﺨﺪم و ﺧﺰﻧﺎﻫﺎ ﺑﺎﻟﻤﺘﻐﻴﺮ‪..‬‬

‫ﻫﺎد ﺑﺎﻟﻨﺴﺒﺔ ﻻﺳﺘﻘﺒﺎل ﺑﻴﺎﻧﺎت ﻧﺼﻴﺔ ﻣﻦ اﻟﻤﺴﺘﺨﺪم‬


‫اﻣﺎ اذا ﺑﺪﻧﺎ ﻧﻌﻤﻞ ﺳﻜﺮﺑﺖ ﻟﺠﻤﻊ رﻗﻤﻴﻦ ﺑﻜﻮن اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫‪num1=10‬‬
‫‪num2=20‬‬
‫)‪print(num1+num2‬‬

‫ﻫﻮن ﻋﺮﻓﺖ ﻋﺪدﻳﻦ ﻣﻦ اﻟﻤﺘﻐﻴﺮات وﺧﺰﻧﺖ اﻟﻘﻴﻢ ﺗﺒﻌﻦ‪.‬‬


‫وﺑﺎﻟﺴﻄﺮ اﻟﺘﺎﻧﻲ رح ﻳﻄﺒﻊ ﻧﺎﺗﺞ اﻟﺠﻤﻊ ﺗﺒﻊ ﻫﻲ اﻟﻤﺘﻐﻴﺮات‬
‫اﻣﺎ اذا ﺑﺪي اﺳﺘﻘﺒﻞ ﻫﻲ اﻻرﻗﺎم ﻣﻦ اﻟﻤﺴﺘﺨﺪم وﺑﻌﺪﻳﻦ اﻃﺒﻊ ﻧﺎﺗﺞ ﺟﻤﻊ‬
‫ﻫﻲ اﻟﻤﺘﻐﻴﺮات ﺑﻜﻮن اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫)'‪num1=input('enter number 1‬‬


‫)'‪num2=input('enter number 2‬‬
‫)‪print(num1+num2‬‬

‫ﺑﺎﻓﺘﺮاض اﺛﻨﺎء اﻟﺘﻨﻔﻴﺬ ﺗﻢ ادﺧﺎل ﻛﻼ ﻣﻦ اﻟﺮﻗﻢ ‪10‬واﻟﺮﻗﻢ ‪20‬‬


‫رح ﻳﻄﺒﻊ ‪1020‬‬
‫وﻫﻲ ﻣﻮ اﻟﻨﺘﻴﺠﺔ اﻟﻠﻲ ﺑﺪﻧﺎ ﻳﺎﻫﺎ‪..‬‬

‫وﻟﻜﻦ ﺑﺪﻧﺎ ﻧﻄﺒﻊ ﻧﺎﺗﺞ ﺟﻤﻊ ﻫﻲ اﻟﻤﺘﻐﻴﺮات ﻓﺸﻮ اﻟﺴﺒﺐ ﺑﻌﺮض ﻫﻲ‬
‫اﻟﻨﺘﻴﺠﺔ ؟‬
‫اﻟﺴﺒﺐ ﺑﻴﺮﺟﻊ ﻻﻧﻮ داﻟﺔ ‪ input‬ﺗﺴﺘﻘﺒﻞ اﻟﻘﻴﻢ ﺑﺸﻜﻞ ‪string‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ ﺗﻢ ﻓﻘﻂ دﻣﺞ ﻗﻴﻢ ﻫﻲ اﻟﻤﺘﻐﻴﺮات‪..‬‬
‫ﻫﻮن ﻻزم ﻧﺤﻮل اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﺑﺪاﻟﺔ ‪ input‬ﻻرﻗﺎم‬
‫ﻓﻠﻮ ﺑﺪﻧﺎ ﻧﺴﺘﻘﺒﻞ ارﻗﺎم ﺻﺤﻴﺤﺔ ﻧﺴﺘﺨﺪم ﻟﻠﺘﺤﻮﻳﻞ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ‪int‬‬
‫اﻣﺎ ﻟﻮ ﺑﺪﻧﺎ ﻧﺴﺘﻘﺒﻞ ارﻗﺎم ﻋﺸﺮﻳﺔ ﻧﺴﺘﺨﺪم ﻟﻠﺘﺤﻮﻳﻞ ﻧﻮع اﻟﺒﻴﺎﻧﺎت‬
‫‪. float‬‬

‫ﻣﺜﺎل‪:‬‬

‫))'‪num1=int(input('enter number 1‬‬


‫))'‪num2=int(input('enter number 2‬‬
‫)‪print(num1+num2‬‬

‫ﺑﺎﻓﺘﺮاض اﺛﻨﺎء اﻟﺘﻨﻔﻴﺬ ﺗﻢ ادﺧﺎل ﻛﻼ ﻣﻦ اﻟﺮﻗﻢ ‪ 10‬واﻟﺮﻗﻢ ‪20‬‬


‫رح ﻳﻄﺒﻊ اﻟﻨﺘﻴﺠﺔ اﻟﻤﻄﻠﻮﺑﺔ ‪30‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -3‬اﻟﻤﺘﻐﻴﺮات ‪Variables‬‬

‫ﻣﻮﺿﻮﻋﻨﺎ ﻫﻮو اﻟـ‪ Variables :‬او اﻟﻤﺘﻐﻴﺮات‬

‫اﻟﻤﺘﻐﻴﺮ ات ﺑﺒﺴﺎﻃﺔ ﻫﻴﺔ ﻣﺨﺎزن ﻟﻠﺒﻴﺎﻧﺎت وﻃﺎﻟﻤﺎ اﻧﻬﺎ ﻣﺨﺎزن ﻟﻠﺒﻴﺎﻧﺎت‬


‫ﺑﺎﻟﺘﺎﻟﻲ رح اﻗﺪر اﻧﻲ ﺧﺰن ﺑﻘﻠﺒﺎ ﺑﻴﺎﻧﺎت وﻛﻤﺎن ﺑﻘﺪر اﻧﻲ اﺳﺘﺮﺟﻊ ﻣﻨﻬﺎ‬
‫ﻫﻲ اﻟﺒﻴﺎﻧﺎت‪..‬‬

‫ﻃﺮﻳﻘﺔ ﺗﻌﺮﻳﻒ اﻟﻤﺘﻐﻴﺮات ﺑﺒﺴﺎﻃﺔ ﺑﺎﻟﺼﻴﻐﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬


‫‪varibleName=value‬‬
‫ﺗﻌﺮﻳﻒ اﻟﻤﺘﻐﻴﺮ ﺑﺒﻠﺶ ﺑﺎﺳﻢ اﻟﻤﺘﻐﻴﺮ ﺑﻌﺪﻳﻦ ﻣﻜﺘﺐ ‪ equal‬ﺑﻌﺪﻳﻦ اﻟﻘﻴﻤﺔ‬
‫اﻟﻤﺮاد ﺗﺨﺰﻳﻨﻬﺎ ﺑﺪاﺧﻞ اﻟﻤﺘﻐﻴﺮ‪..‬‬

‫ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل‪:‬‬

‫‪num1=5‬‬
‫‪num2=1.5‬‬
‫'‪name='python‬‬

‫وﻫﻲ اﻟﻘﻴﻤﺔ اﻟﻠﻲ ﺗﺨﺰﻧﺖ ﺑﻘﻠﺐ اﻟﻤﺘﻐﻴﺮ ﻫﻴﺔ اﻟﻠﻲ ﺑﺘﺤﺪد ﻧﻮع اﻟﻤﺘﻐﻴﺮ‪..‬‬
‫وﻳﺘﻢ اﺳﻨﺎد ﻫﻲ اﻟﻘﻴﻤﺔ ﻟﻠﻤﺘﻐﻴﺮ اﻣﺎ ﻋﻦ ﻃﺮﻳﻖ اﺳﻨﺎد اﻟﻘﻴﻤﺔ ﻣﺒﺎﺷﺮة او‬
‫ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺴﺘﺨﺪم ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام داﻟﺔ اﻻدﺧﺎل اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﺎ‬
‫) ( ‪..input‬‬

‫واول ﺷﻲ ﻻزم ﻧﻌﺮﻓﻮ اﻧﻮ ﺑﺎﻳﺜﻮن ﻣﻮﻓﺮة ﻋﺪة اﻧﻮاع ﻣﻦ اﻟﻤﺘﻐﻴﺮات ﻣﻨﻬﺎ‪:‬‬
‫‪number‬‬
‫‪String‬‬
‫‪List‬‬
‫‪Tuple‬‬
‫‪Dictionary‬‬

‫اوﻻ ‪:‬ﻧﻮع اﻟﺒﻴﺎﻧﺎت رﻗﻤﻲ ‪number‬‬


‫ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل‪:‬‬

‫‪num1=5‬‬

‫اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﻣﻦ اﻟﻨﻮع ‪ int‬ﻻن اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﻓﻴﻪ رﻗﻢ ﺻﺤﻴﺢ‬

‫‪num2=1.5‬‬
‫اﻟﻤﺘﻐﻴﺮ ‪ num2‬ﻣﻦ اﻟﻨﻮع ‪ float‬ﻻن اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﻓﻴﻪ رﻗﻢ ﻋﺸﺮي‬
‫ﺛﺎﻧﻴﺎ ‪ :‬ﻧﻮع اﻟﺒﻴﺎﻧﺎت ﻧﺼﻲ ‪string‬‬

‫'‪name='python‬‬

‫اﻟﻤﺘﻐﻴﺮ ‪ name‬ﻣﻦ اﻟﻨﻮع ‪ string‬ﻻن اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﻓﻴﻪ ﻧﺼﻴﺔ‬


‫ﻣﻼﺣﻈﺔ‪:‬‬
‫ﻣﻨﺤﻂ ﻗﻴﻢ اﻟﻤﺘﻐﻴﺮات اﻟﻨﺼﻴﺔ ﺑﻴﻦ‬
‫‪single quote or double quote‬‬
‫ﻳﻌﻨﻲ ﻫﺪول " " او ' '‬
‫اﻣﺎ ﺑﺎﻗﻲ اﻻﻧﻮاع ﻣﻦ اﻟﻤﺘﻐﻴﺮات ﻣﺸﺮوﺣﺎ ﻻﺣﻘﺎ‪..‬‬

‫وﻓﻲ ﺷﺮوط ﻟﺘﺴﻤﻴﺔ اﻟﻤﺘﻐﻴﺮات‪:‬‬


‫‪ _١‬ﻻزم ﻳﺒﻠﺶ ﺑﺤﺮف‪.‬‬
‫‪ _٢‬ﻣﺎ ﻳﺰﻳﺪ ﻃﻮل اﻟﻤﺘﻐﻴﺮ ﻋﻦ ‪.٣٠‬‬
‫‪ _٣‬ﻣﺎ ﻣﻨﻘﺪر ﻧﺴﺘﺨﺪم ﻛﻠﻤﺔ ﻣﻦ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﺑﺘﻌﺮﻳﻒ اﻟﻤﺘﻐﻴﺮ‪.‬‬
‫ﺑﻤﻌﻨﻰ اﻧﻮ ﻻ ﻳﻤﻜﻦ ﺗﺴﻤﻴﺔ اﻟﻤﺘﻐﻴﺮ ﺑﺎﺳﻢ ‪ if‬ﻣﺜﻼ‪..‬‬

‫ﻃﺒﺎﻋﺔ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ‪:‬‬


‫اﻟﻬﺪف اﻻﺳﺎﺳﻲ ﻣﻦ اﻧﺸﺎء اﻟﻤﺘﻐﻴﺮات ﻣﻮ ﻫﻮ ﺗﺨﺰﻳﻦ ﻗﻴﻤﺔ وﻃﺒﺎﻋﺘﻬﺎ‬
‫ﻓﻘﻂ‬
‫واﻧﻤﺎ ﻣﻨﻘﺪر ﻧﺴﺘﺨﺪم ﻫﻲ اﻟﻘﻴﻤﺔ ﺑﺎﺟﺮاء اﻛﺜﺮ ﻣﻦ اﺟﺮاء داﺧﻞ اﻟﺴﻜﺮﺑﺖ‪..‬‬

‫وﻟﻄﺒﺎﻋﺔ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﻣﻨﺴﺘﺨﺪم ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ ‪print‬‬


‫)‪print(variableName‬‬

‫ﻟﻄﺒﺎﻋﺔ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫)‪print(num1‬‬
‫رح ﻳﻄﺒﻊ ‪5‬‬
‫ﻣﻨﻼﺣﻆ اﻧﻮ اﻟﻤﺘﻐﻴﺮ ﻛﺘﺒﺘﻮ ﻣﺒﺎﺷﺮة ﺑﺪون اﺳﺘﺨﺪام ‪single or double‬‬
‫‪..code‬‬

‫ﺑﻌﺾ اﻻﺳﺌﻠﺔ اﻟﺸﺎﺋﻌﺔ‪:‬‬


‫ﻣﻨﻘﺪر ﻧﻌﺮف ﻧﻮع اﻟﻤﺘﻐﻴﺮ ﻣﻦ ﺧﻼل داﻟﺔ ﻣﻌﻴﻨﺔ ؟‬
‫ﺑﺒﺴﺎﻃﺔ اي ﻋﻦ ﻃﺮﻳﻖ اﻟﺪاﻟﺔ ) ( ‪type‬‬
‫ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل اذا ﺑﺪﻧﺎ ﻧﻌﺮف ﻧﻮع اﻟﻤﺘﻐﻴﺮ ‪num1‬‬
‫ف ﻣﻨﻜﺘﺐ اﻟﻜﻮد اﻟﺘﺎﻟﻲ‪:‬‬
‫)‪type(num1‬‬
‫رح ﻳﻄﺒﻊ ‪..int‬‬

‫ﻣﻨﻘﺪر ﻧﺤﻮل ﻧﻮع اﻟﺒﻴﺎﻧﺎت ﻟﻨﻮع ﺗﺎﻧﻲ؟‬


‫ﺑﺒﺴﺎﻃﺔ اي ﻋﻦ ﻃﺮﻳﻖ ﻋﻤﻞ ‪casting‬‬
‫وﻫﻮ ﻛﺘﺎﺑﺔ اﻟﻨﻮع اﻟﻤﻄﻠﻮب اﻟﺘﺤﻮﻳﻞ ﻟﻪ ﻗﺒﻞ اﺳﻢ اﻟﻤﺘﻐﻴﺮ‬
‫ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل اذا ﺑﺪﻧﺎ ﻧﺤﻮل ﻧﻮع اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﻣﻦ اﻟﻨﻮع ‪int‬‬
‫ﻟﻠﻨﻮع ‪ float‬ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫)‪float(num1‬‬

‫رح ﻳﺒﻄﻊ ‪..5.0‬‬

‫ﻣﻨﻘﺪر ﻧﻐﻴﺮ اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﺑﺎﻟﻤﺘﻐﻴﺮ؟‬


‫ﺑﺒﺴﺎﻃﺔ اي ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل‪:‬‬
‫‪num1=5‬‬
‫‪num1=10‬‬
‫)‪print(num1‬‬

‫رح ﻳﻄﺒﻊ ‪ 10‬ﻻﻧﻮ اﻟﻘﻴﻤﺔ ‪ 5‬ﺗﻐﻴﺮت وﺻﺎرت ‪10‬‬


‫واﺧﻴﺮا اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﻣﻮ ﻫﻮ ‪ Num1‬ﻻن ﺑﺎﻳﺜﻮن ﺣﺴﺎﺳﺔ ﻟﻠﺤﺮوف‬
‫‪ case sensitive‬وﺑﺎﻟﺘﺎﻟﻲ ﻓﻜﻼﻫﻤﺎ ﻣﺘﻐﻴﺮﻳﻦ ﻣﺨﺘﻠﻔﻴﻦ‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -4‬اﻟـ ‪operators‬‬

‫ﻣﻮﺿﻮﻋﻨﺎ ﻫﻮو‪:‬‬
‫‪Python operators‬‬
‫او اﻟﻌﻤﻠﻴﺎت ﺑﺎﻟﺒﺎﻳﺜﻮن ﺑﺘﻨﻘﺴﻢ ﻟـ ‪:‬‬
‫‪- Arithmetic operators‬‬
‫‪ -‬اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﻴﺔ‬
‫‪- Assignment operators.‬‬
‫‪ -‬ﻣﻌﺎﻣﻼت اﺳﻨﺎد اﻟﻘﻴﻢ‬
‫‪- Comparison operators‬‬
‫‪ -‬ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ‬
‫‪- Logical operators.‬‬
‫‪ -‬اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﻴﺔ‬

‫رح ﻧﺪرﺳﻦ ﺑﺎﻟﺘﻔﺼﻴﻞ ان ﺷﺎء ا ‪..‬‬

‫اوﻻ ‪ :‬اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﻴﺔ ‪Arithmetic operators‬‬


‫اﻟﺠﻤﻊ ‪+‬‬
‫اﻟﻄﺮح ‪-‬‬
‫اﻟﻀﺮب *‬
‫اﻟﻘﺴﻤﺔ ‪/‬‬
‫ﺑﺎﻗﻰ اﻟﻘﺴﻤﺔ ‪%‬‬
‫اﻷس **‬
‫اﻟﻘﺴﻤﺔ اﻟﺼﺤﻴﺤﺔ ‪//‬‬
‫ورح ﻧﻮﺿﺤﺎ ﺑﻤﺜﺎل‪:‬‬

‫‪num1=6‬‬
‫‪num2=2‬‬
‫)‪print(num1+num2‬‬

‫رح ﻳﻄﺒﻊ ‪8‬‬


‫)‪print(num1-num2‬‬
‫رح ﻳﻄﺒﻊ ‪4‬‬
‫)‪print(num1*num2‬‬
‫رح ﻳﻄﺒﻊ ‪12‬‬
‫)‪print(num1/num2‬‬
‫رح ﻳﻄﺒﻊ ‪3‬‬
‫)‪print(num1%num2‬‬
‫رح ﻳﻄﺒﻊ ‪0‬‬
‫)‪print(num1**num2‬‬
‫رح ﻳﻄﺒﻊ ‪36‬‬
‫)‪print(num1//num2‬‬
‫رح ﻳﻄﺒﻊ ‪3‬‬

‫رح وﺿﺢ ﻋﻼﻣﺔ ‪ %‬او ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬


‫ﻧﺎﺗﺞ ﻗﺴﻤﺔ ‪ 6/2‬ﻫﻮ ‪ ( 2*3=6) 3‬اﻣﺎ ﺑﺎﻗﻲ اﻟﻘﺴﻤﺔ ﺑﻜﻮن ﺻﻔﺮ‪..‬‬

‫اوﻟﻮﻳﺎت اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ‬


‫اﻧﺎ ﻋﺮﺿﺘﻬﺎ ﺑﺤﺴﺐ اوﻟﻮﻳﺔ اﻟﺘﻨﻔﻴﺬ‬
‫)(‬
‫**‬
‫‪*/‬‬
‫‪+-‬‬
‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ‪:‬‬
‫‪num1=10‬‬
‫‪num2=5‬‬
‫‪num3=4‬‬
‫)‪print(num1+num2*num3‬‬

‫ﻳﻜﻤﻦ ﻳﻔﻜﺮ اﻟﺒﻌﺾ ﻣﻨﻜﻦ اﻧﻮ اﻟﻨﺎﺗﺞ ﻣﻦ ﻫﻲ اﻟﻌﻤﻠﻴﺔ ﺑﻜﻮن ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬


‫ﻫﻮ ﺟﻤﻊ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﻣﻊ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num2‬ﺑﻌﺪﻳﻦ ﺑﻴﻀﺮب‬
‫ﻫﺎد اﻟﻨﺎﺗﺞ ﺑﻘﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪num3‬‬
‫اﻻ او ﻫﺎد ﻏﻴﺮ ﺻﺤﻴﺢ راﺟﻊ اوﻟﻮﻳﺎت ﺗﻨﻔﻴﺬ اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﻴﺔ اﻟﺘﻰ ﺗﻢ‬
‫ﺷﺮﺣﻬﺎ‪..‬‬
‫ﻣﻨﻼﻗﻲ اﻟﻜﻮد رح ﻳﻀﺮب ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num2‬ﻓﻰ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪num3‬‬
‫وﺑﻌﺪﻳﻦ رح ﻳﺠﻤﻊ ﻫﺎد اﻟﻨﺎﺗﺞ ﻣﻊ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num3‬ﻓﺒﻜﻮن اﻟﻨﺎﺗﺞ ﻫﻮ‬
‫‪..30‬‬

‫ﺑﻌﺾ اﻟﻤﻼﺣﻈﺎت ‪:‬‬


‫‪ -‬ﺑﺤﺎﻟﺔ وﺟﻮد اﻛﺘﺮ ﻣﻦ ﻣﻌﺎﻣﻞ اﻟﻮ ﻧﻔﺲ اوﻟﻮﻳﺔ اﻟﺘﻨﻔﻴﺬ ﻓـ ﺑﺘﻢ اﻟﺘﻨﻔﻴﺬ ﻣﻦ‬
‫اﻟﻴﺴﺎر ﻟﻠﻴﻤﻴﻦ‪..‬‬
‫‪ -‬ﺑﺤﺎﻟﺔ اﻟﺮﻏﺒﺔ ﺑﺎﻋﻄﺎء اي ﻋﻤﻠﻴﺔ اوﻟﻮﻳﺔ اﻟﺘﻨﻔﻴﺬ ﻣﻨﺤﻄﻬﺎ ﺑﻘﻠﺐ اﻻﻗﻮاس‬
‫) (‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫ﺛﺎﻧﻴﺎ‪ :‬اﻟﻨﻮع اﻟﺘﺎﻧﻲ ﻣﻦ اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﻴﺔ‪:‬‬

‫‪- Assignment operators..‬‬


‫او ﻣﻌﺎﻣﻼت اﺳﻨﺎد اﻟﻘﻴﻢ‬
‫وﻫﻮ اﻟﻤﻌﺎﻣﻞ =‬
‫وﻫﻮ ﺑﻘﻮم ﺑﺎاﺿﺎﻓﺔ ﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ ﻟﻠﻤﺘﻐﻴﺮ‪..‬‬
‫ورح ﻧﻮﺿﺤﻬﺎ ﺑﻤﺜﺎل‪:‬‬
‫‪num1=20‬‬
‫)‪print(num1‬‬
‫رح ﻳﻄﺒﻊ ‪20‬‬

‫ﻫﻮن ﺿﻔﺖ او ﺧﺰﻧﺖ اﻟﻘﻴﻤﺔ اﻟﻤﻮﺟﻮدة ﺑﻌﺪ ﻣﻌﺎﻣﻞ = ﺑﺎﻟﻤﺘﻐﻴﺮ‪..‬‬

‫‪ -‬ﻣﻨﻘﺪر ﻛﻤﺎن ﺑﺪل ﻣﺎ ﻧﻌﻄﻲ اﻟﻘﻴﻤﺔ ﻣﺒﺎﺷﺮة ﻣﻨﻌﻄﻴﻬﺎ اﻟﻘﻴﻤﺔ ﺑﺼﻮرة‬


‫ﻋﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ ﻛﻤﺎ ﺗﻢ ﺷﺮﺣﻬﺎ ﻓﻰ اﻟﺪرس اﻟﺴﺎﺑﻖ‪..‬‬

‫‪num1=2*3+5‬‬
‫)‪print(num1‬‬

‫رح ﻳﻄﺒﻊ ‪..11‬‬


‫واﻳﻀﺎ ﻣﻨﻘﺪر اﻧﻮ ﻧﺴﺘﺨﺪم ﻻﺳﻨﺎد ﻗﻴﻤﺔ ﻣﺘﻐﻴﺮ ﻟﻤﺘﻐﻴﺮ اﺧﺮ‪:‬‬
‫‪num1=2‬‬
‫‪num2=num1‬‬
‫)‪print(num2‬‬
‫رح ﻳﻄﺒﻊ ‪2‬‬
‫وﻓﻲ ﺑﻌﺾ اﻟﻤﻌﺎﻣﻼت اﻟﻠﻲ ﺑﺘﺘﻔﺮع ﻣﻦ ﻣﻌﺎﻣﻞ = وﻫﻴﺔ‪:‬‬
‫=‪+‬‬
‫=‪-‬‬
‫=*‬
‫=‪/‬‬
‫=℅‬
‫=**‬
‫=‪//‬‬
‫اﻟﻐﺮض ﻣﻨﻬﺎ ﻓﻘﻂ ﻫﻮ اﺧﺘﺼﺎر اﻟﻜﻮد‬
‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ‪:‬‬
‫‪num1=2‬‬

‫اذا ﺑﺪﻧﺎ ﻧﺰﻳﺪ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num1‬ب ‪ 2‬ف ﻣﻨﻜﺘﺐ‪:‬‬


‫‪num1=num1+2‬‬
‫ﻣﻨﻘﺪر ﻛﻤﺎن ﻧﻌﺒﺮ ﻋﻨﻬﺎ ﺑﺎﻟﺼﻮرة ﺗﺎﻧﻴﺔ‪:‬‬
‫‪num1+=2‬‬

‫وﻋﻨﺪ اﻟﻄﺒﺎﻋﺔ ﻟﻘﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num1‬ﺑﺎﻟﺤﺎﻟﺘﻴﻦ‬


‫رح ﺗﻜﻮن اﻟﻨﺘﻴﺤﺔ وﺣﺪة وﻫﻴﺔ ‪..4‬‬
‫ﻓﻘﻂ اﺳﺘﺨﺪﻣﻨﺎﻫﺎ ﻻﺧﺘﺼﺎر اﻟﻜﻮد‪..‬‬
‫ﻓﻘﻤﻨﺎ ﺑﺎاﺧﺘﺼﺎر اﻟﻜﻮد ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬
‫‪num1=num1+2‬‬

‫ﻣﻨﺤﺬف اﺳﻢ اﻟﻤﺘﻐﻴﺮ اﻟﻤﻮﺟﻮد ﺑﺎﻟﻄﺮف اﻟﻴﻤﻴﻦ ﺑﻌﺪ ﻣﻌﺎﻣﻞ ‪equal‬‬


‫وﻣﻨﺮﺳﻞ ﻫﻲ اﻟﻤﻌﺎﻣﻠﺔ اﻟﺤﺴﺎﺑﻴﺔ ﻟﻠﻄﺮف اﻟﺘﺎﻧﻲ ﻗﺒﻞ ﻣﻌﺎﻣﻞ ‪..equal‬‬

‫وﻫﻜﺬا ﺑﺘﻢ ﺗﻄﺒﻴﻖ ﺑﺎﻗﻲ اﻟﻤﻌﺎﻣﻼت‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫ﺛﺎﻟﺜﺎ‪ :‬اﻟﻨﻮع اﻟﺘﺎﻟﺖ ﻣﻦ اﻟﻌﻤﻠﻴﺎت اﻟﺤﺴﺎﺑﻴﺔ‪:‬‬


‫‪comparsion operators‬‬

‫ﻣﻨﺴﺘﺨﺪم ﻫﻲ اﻟﻤﻌﺎﻣﻼت ﻟﻠﻤﻘﺎرﻧﺔ ﺑﻴﻦ ﻗﻴﻤﺘﻴﻦ وﺗﻜﻮن اﻟﻨﺘﻴﺠﺔ اﻟﻤﺮﺟﻌﺔ‬


‫اﻣﺎ ‪true or false‬‬
‫وﻫﻤﺎ =!‪>.>=,<,<=,==,‬‬
‫ورح وﺿﺤﺎ ﺑﻤﺜﺎل‪:‬‬
‫ﺣﺘﻰ ﻧﻘﺪر ﻧﻌﺮض اﻟﻨﺘﻴﺠﺔ ﻟﻬﻲ اﻟﻤﻌﺎﻣﻼت ﻓـ ﻻزم ﻋﺮف ﻋﺪدﻳﻦ ﻣﻦ‬
‫ﻣﺘﻐﻴﺮ ﻣﻦ اﻟﻨﻮع اﻟﺮﻗﻤﻲ اﻟﺼﺤﻴﺢ ‪ int‬وﻣﺘﻐﻴﺮ ﻣﻦ اﻟﻨﻮع ‪ boolean‬وﻫﺎد‬
‫اﻟﻤﺘﻐﻴﺮ ﻳﻘﺒﻞ اﻣﺎ ‪:true or false‬‬

‫‪num1=20‬‬
‫‪num2=10‬‬
‫‪result=num1>num2‬‬
‫)‪print(result‬‬

‫ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ result‬ﺑﺘﻌﺘﻤﺪ ع اﻟﻨﺘﻴﺠﺔ اﻟﻤﺮﺟﻌﺔ ﻣﻦ ﻫﺎد اﻟﺴﺆال‬


‫‪ num1>num2‬ﻫﻞ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ‪ num1‬وﻫﻴﺔ ‪ 20‬اﻛﺒﺮ ﻣﻦ ﻗﻴﻤﺔ‬
‫اﻟﻤﺘﻐﻴﺮ ‪ num2‬وﻫﻴﺔ ‪!10‬؟‬

‫اﻻﺟﺎﺑﺔ ‪..true‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﻄﺒﻊ ‪..true‬‬
‫وﻫﻴﻚ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺒﺎﻗﻲ اﻟﻤﻌﺎﻣﻼت‪..‬‬

‫=>اﻛﺒﺮ ﻣﻦ او ﻳﺴﺎوى‪true .‬‬


‫‪false‬‬ ‫< اﺻﻐﺮ ﻣﻦ‬
‫=<ﺻﻐﺮ ﻣﻦ او ﻳﺴﺎوى ‪false‬‬
‫‪false‬‬ ‫== ﻳﺴﺎوى‬
‫‪true‬‬ ‫=! ﻻ ﻳﺴﺎوى‬

‫واﻟﺴﺆال اذا ﺑﺪﻧﺎ ﻧﺴﺘﺨﺪم اﻛﺘﺮ ﻣﻦ ﻣﻌﺎﻣﻞ ﻣﻦ اﻟﻤﻌﺎﻣﻼت اﻟﺴﺎﺑﻘﺔ ﻫﻮن‬


‫رح ﻳﻈﻬﺮ دور ‪..logical operators‬‬

‫وﻫﻴﺔ ﺗﺴﺘﺨﺪم ﻟﻠﺘﺤﻘﻖ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﺒﺎرات وﻫﻲ اﻟﻌﺒﺎرات ﺗﻘﻮم‬


‫ﺑﺎرﺟﺎع ﻗﻴﻤﺔ ﻣﻨﻄﻘﻴﺔ اﻣﺎ ‪..true or false‬‬
‫وﻫﻨﻦ‪:‬‬
‫‪and‬‬
‫‪or‬‬
‫‪not‬‬

‫اوﻻ‪and :‬‬
‫ﺣﺘﻰ ﺗﺮﺟﻌﻠﻨﺎ اﻟﻘﻴﻤﺔ ‪ true‬ﻻزم اﻧﻮ ﻳﻜﻮن ﺟﻤﻴﻊ اﻃﺮاف اﻟﻤﻘﺎرﻧﺔ ﺑﺘﺮﺟﻊ‬
‫‪..true‬‬

‫اﻣﺎ ﺑﺤﺎﻟﺔ اﻧﻮ ﻳﻜﻮن اﺣﺪ اﻃﺮاف اﻟﻤﻘﺎرﻧﺔ ﺑﺮﺟﻊ ﻗﻴﻤﺔ ‪ false‬ﻓﺎﻟﻨﺘﻴﺠﺔ‬
‫اﻟﻨﻬﺎﺋﻴﺔ ﻟﻠﻤﻘﺎرﻧﺔ ﺗﻜﻮن ‪..false‬‬

‫ﺗﺎﻧﻴﺎ‪or :‬‬
‫ﺣﺘﻰ ﻧﻘﺪر ﻧﺮﺟﻊ اﻟﻘﻴﻤﺔ ‪ true‬ﻻزم ﻳﻜﻮن اﺣﺪ اﻃﺮاف اﻟﻤﻘﺎرﻧﺔ ﺑﺮﺟﻊ‬
‫‪ true‬وﻟﻴﺲ ﺟﻤﻴﻊ اﻻﻃﺮاف ﺑﻌﻜﺲ اﻟـ ‪..and‬‬

‫اﻣﺎﺑﺤﺎﻟﺔ اﻧﻮ ﻛﻞ اﻃﺮاف اﻟﻤﻘﺎرﻧﺔ ﺑﺮﺟﻌﻮ اﻟﻘﻴﻤﺔ ‪ false‬ﻓـ ﺑﺘﻜﻮن اﻟﻨﺘﻴﺠﺔ‬


‫اﻟﻨﻬﺎﺋﻴﺔ ﻟﻠﻤﻘﺎرﻧﺔ ‪..false‬‬

‫ﺛﺎﻟﺜﺎ‪not :‬‬
‫وﻫﻴﺔ ﺑﺘﻌﻜﺲ ﻧﺎﺗﺢ ﻋﻤﻠﻴﺔ اﻟﻤﻘﺎرﻧﺔ‬
‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ‪:‬‬
‫‪n1=10‬‬
‫‪n2=20‬‬
‫‪result=not n1>n2‬‬
‫)‪print(result‬‬
‫رح ﻳﻄﺒﻊ ‪..true‬‬

‫ﻫﻮن اﻟﻘﺼﺪ ﻣﻦ ‪ not‬اﻧﻮ اﻟﻤﺘﻐﻴﺮ ‪ n1‬ﻟﻴﺲ اﻛﺒﺮ ﻣﻦ ‪n2‬‬


‫او ﺑﻄﺮﻳﻘﺔ اﺧﺮى‪:‬‬
‫‪n1>n2‬‬
‫اﻻﺟﺎﺑﺔ ‪ false‬ﺑﻴﻨﻤﺎ ﺗﻘﻮم ‪ not‬ﺑﻌﻜﺲ ﻫﻲ اﻟﻤﻘﺎرﻧﺔ ﻓﺘﺼﺒﺢ ‪..true‬‬
‫ﻣﺜﺎل ﺗﺎﻧﻲ‪:‬‬
‫‪n=4‬‬
‫)‪print(n>=1 and n<=10‬‬
‫ﻫﻮن ﻋﻤﻠﺖ ﻣﺘﻐﻴﺮ ﻳﺤﻤﻞ اﻟﻘﻴﻤﺔ ‪4‬‬
‫واﺳﺘﺨﺪﻣﺖ ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﺎ ودﻣﺠﺘﺎ ﺑﺎﺳﺘﺨﺪام ﻋﺒﺎرة‬
‫‪and‬‬
‫‪n>=1 true‬‬
‫‪n<=10 true‬‬
‫وﻃﺎﻟﻤﺎ اﻧﻮ ﻛﻞ اﻃﺮاف اﻟﻤﻘﺎرﻧﺔ ﺑﺘﺮﺟﻊ ‪ true‬وﺑﺎﻟﺘﺎﻟﻲ ﻓـ ﻋﺒﺎرة ‪ and‬رح‬
‫ﺗﺮﺟﻊ ‪..true‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -5‬اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ ‪if statment‬‬

‫رح اﺣﻜﻲ ﻋﻦ ﻣﻘﺪﻣﺔ ﺑﺴﻴﻄﺔ ﺑﺘﻮﺿﺢ اﻳﻤﺘﻰ ﻣﻨﺴﺘﺨﺪم اﻟﺠﻤﻞ‬


‫اﻟﺸﺮﻃﻴﺔ‪..‬‬

‫ﺑﺒﺴﺎﻃﺔ اي ﺳﻜﺮﺑﺖ ﺑﺄي ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﺑﻴﺘﻨﻔﺬ ﺑﺼﻮرة ﻣﺘﺘﺎﻟﻴﺔ ﻳﻌﻨﻲ ﺑﻴﺘﻨﻔﺬ‬
‫ﺳﻄﺮ ﺳﻄﺮ ﺣﺴﺐ ﺗﺮﺗﻴﺐ اﻟﻜﻮد‪..‬‬

‫ﻣﺎذا ﻟﻮ ﻛﻨﺎ ﺑﺪﻧﺎ ﻧﻨﻔﺬ اﺣﺪ ﻫﻲ اﻻﺳﻄﺮ وﻓﻘﺎ ﻟﺘﺤﻘﻖ ﺷﺮط ﻣﻌﻴﻦ ﻣﻦ ﺧﻼل‬
‫ﻣﺎﺗﻢ دراﺳﺘﺔ ﺳﺎﺑﻘﺎ ﻣﺎرح ﻳﻤﺸﻲ اﻟﺤﺎل‪..‬‬

‫ﻟﻜﻦ رح ﻧﺘﻌﻠﻢ ﻫﻲ اﻟﺠﻤﻞ اﻟﻠﻲ رح ﻧﺘﺤﻜﻢ ﺑﻤﺴﺎر اﻟﺴﻜﺮﺑﺖ‪..‬‬


‫وﺑﺎﻟﺘﺎﻟﻲ ﻣﻨﻘﺪر ﻧﻌﺮف اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ ﺑﺎﻧﻬﺎ ﻋﺒﺎرة ﻋﻦ ﺑﻠﻮك او ‪block‬‬
‫ﻣﻦ اﻻﻛﻮاد ﺑﻴﺮﺗﺒﻂ ﺗﻨﻔﻴﺬﻫﺎ ﺑﺘﺤﻘﻖ ﺷﺮط ﻣﻌﻴﻦ‪.‬‬

‫ﻋﺒﺎرة ‪if‬‬
‫واﻟﻬﺎ ﻋﺪة ﺣﺎﻻت‪:‬‬
‫‪1- simple if‬‬
‫اﻟﺤﺎﻟﺔ اﻻوﻟﻰ وﻫﻴﺔ اﺑﺴﻂ ﺻﻮرة ﻟﺠﻤﻠﺔ ‪if‬‬

‫وﺗﺎﺧﺬ اﻟﺼﻴﻐﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬


‫‪if(condition):‬‬
‫‪statements‬‬

‫ﻣﻨﻜﺘﺐ ﺟﻤﻠﺔ اﻟﺸﺮط ﺑﺎﺳﺘﺨﺪام ﻋﺒﺎرة ‪ if‬ﻛﺎﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻣﻨﻜﺘﺐ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪ if‬وﺑﻌﺪﻫﺎ ﻣﻨﻔﺘﺢ ﻗﻮﺳﻴﻦ وﻫﻲ اﺧﺘﻴﺎرﻳﺔ‬


‫وﻣﻨﻜﺘﺐ ﺑﻘﻠﺒﻦ اﻟﻌﺒﺎرة او اﻟﻌﺒﺎرات اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺘﻬﺎ وﻻزم‬
‫اﻧﻮ ﺗﻜﻮن اﻟﻨﺘﻴﺠﺔ اﻟﻤﺮﺟﻌﺔ‪:‬‬
‫)‪boolean (true or false‬‬

‫وﻫﺎﻟﺸﻲ ﺑﺎﺳﺘﺨﺪام اﺣﺪ ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﻢ‬


‫‪.comparison operators‬‬
‫واﻟﺪﻣﺞ ﺑﻴﻨﻬﻢ ﻋﻨﺪ وﺟﻮد اﻛﺜﺮ ﻣﻦ ﺷﺮط او ﻋﺒﺎرة ﺑﺎﺳﺘﺨﺪام‬
‫‪and‬‬
‫‪or‬‬

‫وﺑﻌﺪﻳﻦ ﻣﻨﻜﺘﺐ اﻟﺠﻤﻠﺔ او اﻟﺠﻤﻞ اﻟﻤﺮاد ﺗﻨﻔﻴﺬﻫﺎ‬


‫ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط‬
‫وﻣﻨﻼﺣﻆ اﻻﺗﻲ ‪:‬‬
‫_ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط ) ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( true‬رح ﻳﻨﻔﺬ ﻫﻲ اﻟﺠﻤﻠﺔ‪..‬‬
‫اﻣﺎ ﺑﺤﺎﻟﺔ ﻋﺪم ﺗﺤﻘﻖ اﻟﺸﺮط )ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( false‬ﻣﺎرح ﻳﻨﻔﺬ اي ﺷﻲ‬
‫واﻧﻤﺎ ﻳﻜﻤﻞ ﺗﻨﻔﻴﺬ ﺑﺎﻗﻲ اﻻﻛﻮاد اﻟﻤﻮﺟﻮدة ﺑﻘﻠﺐ اﻟﺴﻜﺮﺑﺖ‪..‬‬

‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ‪:‬‬
‫اذا ﺑﺪي اﻛﺘﺐ ﺳﻜﺮﻳﺖ ﻳﺎﺧﺬ درﺟﺔ اﻟﻄﺎﻟﺐ ﻟﻮ اﻟﻄﺎﻟﺐ ﻧﺎﺟﺢ رح ﺗﻨﻄﺒﻊ‬
‫اﻧﻮ ﻧﺎﺟﺢ‪:‬‬
‫‪degree =90‬‬
‫‪if (degree >80):‬‬
‫)"‪print("success‬‬

‫ﻫﻮن ﻋﺮﻓﺖ ﻣﺘﻐﻴﺮ ﺑﻴﺤﻤﻞ ﻗﻴﻤﺔ درﺟﺔ اﻟﻄﺎﻟﺐ‬


‫وﻣﻨﻘﺪر ﻧﺴﺘﺨﺪم داﻟﺔ اﻻدﺧﺎل اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﺎ )( ‪ input‬ﻣﺸﺎن ﻧﺪﺧﻞ‬
‫ﻧﺘﻴﺠﺔ اﻟﻄﺎﻟﺐ‪..‬‬
‫ﺑﻌﺪﻳﻦ ﻣﺎرخ ﻧﻄﺒﻊ ﻣﺒﺎﺷﺮة واﻧﻤﺎ رح ﻧﺴﺘﺨﺪم اﻟﻌﺒﺎرة اﻟﺸﺮﻃﻴﺔ ‪if‬‬
‫ﺑﻌﺪﻳﻦ ﻣﻨﻔﺘﺢ ﻗﻮﺳﻴﻦ وﻧﻜﺘﺐ ﺑﻘﻠﺒﻦ اﻟﺸﺮط وﻫﻮ ﺑﻜﻮن ﺑﺼﻮرة ﺳﺆال ﻫﻞ‬
‫درﺟﺔ اﻟﻄﺎﻟﺐ اﻛﺒﺮ ﻣﻦ ‪80‬؟‬

‫ﻃﺒﻌﺎ ﻧﺤﻨﺎ ﻗﻠﻨﺎ اﻧﻮ اﻟﻨﺘﻴﺠﺔ اﻟﻤﺮﺟﻌﺔ ﻣﻦ اﻟﺸﺮط ‪comparison‬‬


‫‪ operators‬اﻣﺎ ‪ true or false‬وﺑﺎﻟﻤﺜﺎل رح ﺗﻜﻮن اﻟﻨﺘﻴﺠﺔ ‪ true‬وﺑﻤﺎ‬
‫اﻧﻮ ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ true‬ﻓـ رح ﻳﻨﻔﺬ ﺟﻤﻠﺔ اﻟﻄﺒﺎﻋﺔ‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -2‬اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ ‪conditional statements‬‬

‫ﻋﺮﻓﻨﺎ اﻧﻮ اﻟﻬﺪف ﻣﻦ ﻛﺘﺎﺑﺘﻬﺎ ﻫﻮ اﻟﺘﺤﻜﻢ ﺑﻤﺴﺎر اﻟﺒﺮﻧﺎﻣﺞ‪..‬‬

‫اﻟﺤﺎﻟﺔ اﻟﺘﺎﻧﻴﺔ ﻣﻦ ﺣﺎﻻت ‪ if‬وﻫﻴﺔ ‪..if else‬‬


‫وﻫﻴﺔ ﺗﺴﺘﺨﺪم ﺑﺤﺎﻟﺔ وﺟﻮد اﺣﺘﻤﺎﻟﻴﻦ‪.‬‬
‫وﺻﻴﻐﺘﺎ اﻟﻌﺎﻣﺔ‪:‬‬
‫‪if(condition):‬‬
‫‪statements1‬‬
‫‪else:‬‬
‫‪statements2‬‬

‫ﻣﻨﻜﺘﺐ ﺟﻤﻠﺔ اﻟﺸﺮط ﺑﺎﺳﺘﺨﺪام ﻋﺒﺎرة ‪ if else‬ﻛﺎﻟﺘﺎﻟﻲ ‪:‬‬


‫ﻣﻨﻜﺘﺐ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪ if‬وﺑﻌﺪﻫﺎ ﻣﻨﻔﺘﺢ ﻗﻮﺳﻴﻦ وﻣﻨﻜﺘﺐ ﺑﻘﻠﺒﻦ‬
‫اﻟﻌﺒﺎرة او اﻟﻌﺒﺎرات اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺘﻬﺎ‪..‬‬
‫وﻻزم ﺗﻜﻮن اﻟﻨﺘﻴﺠﺔ اﻟﻤﺮﺟﻌﺔ‪:‬‬
‫)‪boolean (true or false‬‬

‫وﻫﺎﻟﺸﻲ ﺑﺎﺳﺘﺨﺪام اﺣﺪ ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﻢ‬


‫‪.comparison operators‬‬
‫واﻟﺪﻣﺞ ﺑﻴﻨﻬﻢ ﻋﻨﺪ وﺟﻮد اﻛﺜﺮ ﻣﻦ ﺷﺮط او ﻋﺒﺎرة ﺑﺎﺳﺘﺨﺪام‬
‫‪and‬‬
‫‪or‬‬

‫وﺑﻌﺪﻳﻦ ﻣﻨﻜﺘﺐ اﻟﺠﻤﻠﺔ اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﻨﻔﺬﻫﺎ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط‬


‫ﺑﻌﺪﻳﻦ ﻣﻨﻜﺘﺐ ﻋﺒﺎرة ‪ else‬ﺑﻌﺪﻫﺎ ﻣﻨﻜﺘﺐ اﻟﺠﻤﻠﺔ اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﻨﻔﺬﻫﺎ ﺑﺤﺎﻟﺔ‬
‫ﻋﺪم ﺗﺤﻘﻖ اﻟﺸﺮط‪..‬‬

‫وﻣﻨﻼﺣﻆ ‪:‬‬
‫_ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط ) ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( true‬رح ﻳﻨﻔﺬ ‪..statement1‬‬
‫اﻣﺎ ﺑﺤﺎﻟﺔ ﻋﺪم ﺗﺤﻘﻖ اﻟﺸﺮط )ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( false‬رح ﻳﻨﻔﺬ‬
‫‪..statement2‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﻟﻮ ﺑﺪي اﻛﺘﺐ ﺳﻜﺮﺑﺖ ﻳﺎﺧﺬ درﺟﺔ اﻟﻄﺎﻟﺐ ﻟﻮ درﺟﺔ اﻟﻄﺎﻟﺐ اﻛﺒﺮ ﻣﻦ او‬
‫ﻳﺴﺎوى ‪ ٨٠‬ﻣﻨﻘﻠﻮ ﻧﺎﺟﺢ وﻟﻮ اﻗﻞ ﻣﻦ ‪ ٨٠‬ﻣﻨﻘﻠﻮ راﺳﺐ‪:‬‬
‫‪degree =90‬‬
‫‪if (degree >=80):‬‬
‫)"‪print("success‬‬
‫‪else :‬‬
‫)"‪print("fail‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -3‬اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ ‪Condition statment‬‬

‫ﺑﻌﺪ ﻣﺎ اﺧﺪﻧﺎ اﻟﺤﺎﻟﺔ اﻻوﻟﻰ ﻣﻦ ﻋﺒﺎرة ‪if‬‬


‫‪- simple if‬‬
‫و اﻟﺤﺎﻟﺔ اﻟﺘﺎﻧﻴﺔ وﻫﻴﺔ‪:‬‬
‫‪- if else‬‬

‫ف رح اﺣﻜﻲ ﻋﻦ اﻟﺤﺎﻟﺔ اﻟﺘﺎﻟﺘﺔ ﻣﻦ ﺣﺎﻻت ‪ if‬وﻫﻴﺔ ‪..if else if‬‬

‫وﻫﻴﺔ ﺗﻜﺘﺐ ﺑﺎﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ ‪..elif‬‬


‫وﺗﺴﺘﺨﺪم ﺑﺤﺎﻟﺔ وﺟﻮد اﻛﺘﺮ ﻣﻦ ﺷﺮط او اﺣﺘﻤﺎل‪..‬‬
‫وﺻﻴﻐﺘﺎ اﻟﻌﺎﻣﺔ‪:‬‬
‫‪if condition:‬‬
‫‪statements1‬‬
‫‪elif condition:‬‬
‫‪statements2‬‬
‫‪elif condition:‬‬
‫‪statements3‬‬

‫‪else :‬‬
‫‪statements‬‬

‫ﻣﺘﻞ ﻣﺎﺷﺮﺣﺖ ﺳﺎﺑﻘﺎ ﻛﻴﻒ ﻣﻨﻜﺘﺐ اﻟـ ‪ if‬ف ﺑﻌﺪ ﻣﺎ ﻧﻜﺘﺐ اﻟـ ‪if‬‬
‫ﻣﻨﻜﺘﺐ ﻋﺒﺎرة ‪ elif‬وﻣﻨﻜﺘﺐ اﻟﻌﺒﺎرة اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺘﻬﺎ‪..‬‬

‫وﺑﻌﺪﻫﺎ ﻣﻨﻜﺘﺐ اﻟﺠﻤﻠﺔ اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﻨﻔﺬﻫﺎ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط‪..‬‬


‫ﺑﻌﺪﻫﺎ رح ﻳﻜﺮر ﻋﺒﺎرة ‪ elif‬ﺑﻌﺪد اﻻﺣﺘﻤﺎﻻت او اﻟﺸﺮوط اﻟﻤﺘﻮﻗﻌﺔ‪..‬‬
‫ﺑﻌﺪﻳﻦ ﻣﻨﻜﺘﺐ ﻋﺒﺎرة ‪ else‬وﻣﻨﻜﺘﺐ ﺑﻘﻠﺒﺎ اﻟﺠﻤﻠﺔ اﻟﻠﻲ ﺑﺪﻧﺎ ﻧﻨﻔﺬﻫﺎ ﺑﺤﺎﻟﺔ‬
‫ﻋﺪم ﺗﺤﻘﻖ اي ﺷﺮط ﻣﻦ اﻟﺸﺮوط اﻟﺴﺎﺑﻘﺔ‪..‬‬

‫وﻣﻨﻼﺣﻆ ‪:‬‬
‫_ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط ) ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( true‬رح ﻳﻨﻔﺬ اﻟﺠﻤﻠﺔ اﻟﺨﺎﺻﺔ‬
‫ﺑﻬﺎد اﻟﺸﺮط وﺑﻌﺪﻫﺎ رح ﻳﺨﺮج ﻣﺒﺎﺷﺮة ﻣﻦ ﺟﻤﻠﺔ ‪ if‬دون اﺧﺘﺒﺎر ﺑﺎﻗﻲ‬
‫اﻟﺸﺮوط‪..‬‬

‫اﻣﺎ ﺑﺤﺎﻟﺔ ﻋﺪم ﺗﺤﻘﻖ اﻟﺸﺮط )ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪ ( false‬رح ﻳﻨﺘﻘﻞ ﻣﺒﺎﺷﺮة‬
‫ﻟﻠﺸﺮط اﻟﻠﻲ ﺑﻌﺪو ﻟﺤﺘﻰ ﻣﺎ ﻳﺘﺤﻘﻖ اﻟﺸﺮط‪..‬‬
‫ﺑﻌﺪﻳﻦ ﺑﻜﻤﻞ ﺗﻨﻔﻴﺬ ﺑﺎﻗﻲ اﻻﻛﻮاد اﻟﻤﻮﺟﻮدة ﺑﺎﻟﺴﻜﺮﺑﺖ‪..‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﺑﺎﻓﺘﺮاض ﻃﻠﺐ ﻣﻨﻚ اﻟﻘﻴﺎم ﺑﻌﻤﻞ ﺗﻄﺒﻴﻖ ﻟﻠﺘﺤﻘﻖ ﻣﻦ اﻟﻌﻤﺮ ﻟﻠﻤﺘﻘﺪﻣﻴﻦ‬
‫ﻋﻠﻰ ﻣﻨﺢ ﻣﻘﺪﻣﺔ ﻣﻦ اﻟﺪوﻟﺔ‬
‫ﺑﺤﻴﺚ ﻳﻘﺒﻞ ﻓﻘﻂ اﻟﺸﺨﺺ ﻣﻦ ﻋﻤﺮ ‪ ١٨‬و ‪ ٢٢‬ﺳﻨﺔ‬

‫ﻣﻨﻌﺮف اﻟﻤﺘﻐﻴﺮات‬
‫ﺑﻌﺪﻳﻦ رح ﻳﺒﻠﺶ ﻳﺨﺘﺒﺮ اﻟﺸﺮط اﻻول ﻓﺎذا ﻛﺎﻧﺖ ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪true‬‬
‫رح ﻳﻄﺒﻊ اﻟﺠﻤﻠﺔ اﻟﻠﻲ ﺑﻘﻠﺐ اﻟﺸﺮط‪..‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﻄﻠﻊ ﻣﺒﺎﺷﺮة ﻣﻦ ﺟﻤﻠﺔ ‪ if‬دون ﺗﻨﻔﻴﺬ ﺑﺎﻗﻲ ﺟﻤﻞ اﻟﺸﺮط‪..‬‬

‫اﻣﺎ اذا ﻛﺎﻧﺖ ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪false‬‬


‫رح ﻳﻨﺘﻘﻞ اﻟﺴﻜﺮﺑﺖ ﻣﺒﺎﺷﺮة ﻟﻠﺸﺮط اﻟﻠﻲ ﺑﻌﺪو وﻫﻜﺬا ﺑﻀﻞ ﻳﻨﺘﻘﻞ ﻟﻠﺸﺮط‬
‫اﻟﻠﻲ ﺑﻌﺪو ﻃﺎﻟﻤﺎ اﻧﻮ ﻧﺘﻴﺠﺔ اﻟﺸﺮط ‪false‬‬
‫‪age=20‬‬
‫‪if age <18:‬‬
‫)'‪print('you are too young‬‬
‫‪elif age>22:‬‬
‫)'‪print('you are too old‬‬
‫‪else:‬‬
‫)'‪print('welcome‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -6‬اﻟـ ‪While loop‬‬

‫ﻣﻨﺴﺘﺨﺪﻣﺎ ﻟﺘﻜﺮار اﻟﻜﻮد ﻋﺪد ﻣﺤﺪد ﻣﻦ اﻟﻤﺮات وﻓﻘﺎ ﻟﺸﺮط ﻣﻌﻴﻦ‪..‬‬


‫ﺑﺤﻴﺚ ﻻ ﻳﺘﻢ ﺗﻨﻔﻴﺬ اﻟﻜﻮد اﻻ ﺑﺤﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط‪..‬‬
‫اﻣﺎ ﺑﺤﺎﻟﺔ ﻋﺪم ﺗﺤﻘﻖ اﻟﺸﺮط ﻓـ ﻣﺎرح ﻳﻨﻔﺬ اﻟﻜﻮد وﻟﻮ ﻟﻤﺮة وﺣﺪة‪..‬‬
‫وﻗﺒﻞ اﺳﺘﺨﺪام اداة ‪ while‬ﻻزم ﻧﺤﺪد ارﺑﻌﺔ ﻋﻨﺎﺻﺮ وﻫﻴﺔ ‪:‬‬
‫‪1- initial value‬‬
‫وﻫﻴﺔ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ ﻟﻠﻤﺘﻐﻴﺮ‪..‬‬

‫‪2-statements‬‬
‫وﻫﻮ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ‪..‬‬
‫‪3-condition‬‬
‫وﻫﻮ اﻟﺸﺮط اﻟﻠﻲ رح ﻧﺤﻄﻮ ﻟﺪﺧﻮل ‪ loop‬ﺑﺤﺎﻟﺔ ﺗﺤﻘﻘﻮ )‪..( true‬‬
‫اﻣﺎ ﺑﺤﺎﻟﺔ ﻋﺪم ﺗﺤﻘﻘﻮ )‪ ( false‬رح ﻳﺨﺮج ﻣﻦ ‪loop‬‬

‫‪4- incremental step‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﺣﺘﻰ ﻧﻘﺪر ﻣﻦ اﻧﻮ ﻧﻄﺒﻊ اﻻﻋﺪاد ﻣﻦ ‪ ١‬ﺣﺘﻰ ‪ ٥‬ﺑﺎﺳﺘﺨﺪام ‪:while‬‬
‫‪counter=1‬‬
‫‪while counter<=5:‬‬
‫)‪print(counter‬‬
‫‪counter=counter+1‬‬

‫ﻫﻮن ﻣﻨﻼﺣﻆ ‪:‬‬

‫‪ -‬اﻟﻌﻨﺎﺻﺮ اﻻرﺑﻌﺔ اﻟﺴﺎﺑﻖ ﺷﺮﺣﻬﻢ ﻣﻮﺟﻮدﻳﻦ‪:‬‬

‫‪counter=1‬‬ ‫‪initial value‬‬


‫)‪print(counter‬‬ ‫‪statements‬‬
‫‪counter<=5‬‬ ‫‪condition‬‬
‫‪counter=counter+1‬‬ ‫‪incremental‬‬

‫اﻣﺎ ﻃﺮﻳﻘﺔ ﻋﻤﻞ ‪ while‬ﻣﻨﻘﺪر ﻧﻠﺨﺼﻬﺎ ‪:‬‬


‫ﺑﺎﻟﺒﺪاﻳﺔ ﻣﻨﻌﺮف ﻣﺘﻐﻴﺮ ﻣﺎ ‪ ...‬اﻧﺎ ﺑﺎﻟﻤﺜﺎل ﻋﺮﻓﺖ اﺳﻤﻮ ‪ counter‬وﻋﻄﻴﺘﻮ‬
‫ﻗﻴﻤﺔ اﺑﺘﺪاﺋﻴﺔ ‪ 1‬ﺑﻌﺪﻳﻦ رح ﻳﺮوح ﻟﻠﺸﺮط وﻳﺴﺄل ﻫﻞ ‪ 1‬اﻗﻞ ﻣﻦ او‬
‫ﺗﺴﺎوي ‪5‬؟‬
‫اﻻﺟﺎﺑﺔ رح ﺗﻜﻮن ‪ true‬وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﺪﺧﻞ ﻟﻠـ ‪ loop‬ورح ﻳﻄﻴﻊ ﻗﻴﻤﺔ‬
‫‪ counter‬وﻫﻴﺔ ‪..1‬‬

‫ﺑﻌﺪﻳﻦ رح ﻳﺮوح ﻟﻠـ ‪ incremental step‬ورح ﻳﺰﻳﺪ ﻗﻴﻤﺔ ‪counter‬‬


‫ﺑﻮاﺣﺪ ﻟﺘﺼﺒﺢ اﻟﻘﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ ﺑﺎﻟـ ‪ counter‬ﻫﻴﺔ ‪2‬‬
‫ﺑﻌﺪﻳﻦ رح ﻳﺮوح ﻟﻠﺸﺮط وﻳﺴﺄل ﻫﻞ ‪ 2‬اﻗﻞ ﻣﻦ او ﺗﺴﺎوي ‪ 5‬؟‬
‫اﻻﺟﺎﺑﺔ رح ﺗﻜﻮن ‪ true‬وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﺪﺧﻞ ﻟﻠـ ‪ loop‬ورح ﻳﻄﺒﻊ ﻗﻴﻤﺔ‬
‫‪ counter‬وﻫﻴﺔ ‪..2‬‬

‫وﻫﻜﺬا ﺣﺘﻰ ﺗﺼﻴﺮ ﻗﻴﻤﺔ ‪ counter‬ﺗﺴﺎوي ‪ 6‬ﻓﺒﺮوح ﻟﻠﺸﺮط وﺑﻴﺴﺄل ﻫﻞ‬


‫‪ 6‬اﻗﻞ ﻣﻦ او ﺗﺴﺎوي ‪5‬؟‬
‫اﻻﺟﺎﺑﺔ رح ﺗﻜﻮن ‪ false‬وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﺨﺮج ﻣﻦ ‪..loop‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -7‬اﻟـ ‪for loop‬‬

‫وﻫﻴﺔ ﺗﺴﺘﺨﺪم ﻟﺘﻜﺮار اﻟﻜﻮد ﻋﺪد ﻣﺤﺪد ﻣﻦ اﻟﻤﺮات وﻣﺎرح ﻳﺘﻮﻗﻒ ‪loop‬‬
‫ﺣﺘﻰ ﻳﻨﺘﻬﻲ ﻣﻦ اﻟﻌﺪد اﻟﻤﺤﺪد ﺑﺎﻟﺘﻜﺮار‪..‬‬

‫و ‪ for loop‬اﻟﻬﺎ ﻋﺪة اﺳﺘﺨﺪاﻣﺎت ﻣﻊ اﻟﻤﺘﻐﻴﺮات واﻟﻘﻮاﺋﻢ وﺧﻼﻓﻮ‪..‬‬


‫رح وﺿﺤﻬﺎ ﻛﺎﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻣﺜﺎل ﻻﺳﺘﺨﺪام ‪ for‬ﻣﻊ اﻟﻤﺘﻐﻴﺮات ‪:‬‬


‫ﻟﻮ ﺑﺪي اﻃﺒﻊ ﺣﺮوف اﺳﻤﻚ ﺑﺎﺳﺘﺨﺪام ‪:for‬‬

‫'‪name='karam‬‬
‫‪for i in name :‬‬
‫)‪print(i‬‬
‫ﺑﺎﻟﺒﺪاﻳﺔ ﻋﺮﻓﺖ ﻣﺘﻐﻴﺮ ﻳﺤﻤﻞ اﻻﺳﻢ‬
‫ﺑﻌﺪﻳﻦ ﻛﺘﺒﺖ ‪ for‬ﻳﻠﻴﻬﺎ اﺳﻢ اﻟﻤﺘﻐﻴﺮ اﻟﺨﺎص ‪for‬‬
‫اﻟﻠﻲ رح ﻳﺤﻤﻞ اﻟﻘﻴﻤﺔ اﻟﺠﺎﻳﺔ اﻟﻮ ﻣﻦ اﻟﻤﺘﻐﻴﺮ‪..‬‬
‫ﺑﻌﺪﻳﻦ ﻣﻨﻜﺘﺐ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪ in‬ﺑﻌﺪﻫﺎ ﺑﻜﺘﺐ اﺳﻢ اﻟﻤﺘﻐﻴﺮ اﻟﻠﻲ رح‬
‫ﻳﺤﻤﻞ اﻻﺳﻢ‪..‬‬

‫وﺑﺎﻟﻨﻬﺎﻳﺔ رح ﻧﻄﺒﻊ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ اﻟﺨﺎص ب ‪for‬‬


‫ﻣﻦ ﺧﻼل ﻋﻤﻞ ‪ loop‬ﻋﻠﻰ ﺣﺮف ﺣﺮف ﻣﻦ ﺣﺮوف اﻟﻤﺘﻐﻴﺮ ‪name‬‬
‫وادﺧﺎﻟﻬﺎ ﺑﺎﻟﻤﺘﻐﻴﺮ ‪ i‬وﺑﻌﺪﻳﻦ ﻃﺒﺎﻋﺘﻮ‪..‬‬

‫ﻣﺜﺎل‪:‬‬
‫رح اﺳﺘﺨﺪم ‪ for‬ﻣﻊ اﻟﺪاﻟﺔ ‪:range‬‬

‫ﺣﺘﻰ ﺗﻘﺪر ﻣﻦ ﻃﺒﺎﻋﺔ اﺳﻤﻚ ﺧﻤﺴﺔ ﻣﺮات‪:‬‬

‫‪for i in range(5) :‬‬


‫)'‪print('fawzy‬‬

‫ﻫﻮن داﻟﺔ ‪ range‬رح ﺗﻌﻄﻴﻨﺎ ﻣﻌﺪل ﻟﻠﺘﻜﺮار وﻫﻮ ﺧﻤﺴﺔ ﺗﻜﺮارات ﺣﺴﺐ‬
‫ﻃﺒﻌﺎ اﻟﺒﺮاﻣﻴﺘﺮ اﻟﻤﻌﻄﻰ ﻟﻬﺎ‪..‬‬
‫وﺑﺎﻟﺘﺎﻟﻲ رح ﺗﺘﻢ اﻟﻄﺒﺎﻋﺔ ﺧﻤﺴﺔ ﻣﺮات‪..‬‬

‫داﻟﺔ ‪ range‬ﻟﻮ ﻋﻄﻴﺘﺎ ﻟﻬﺎ ﺑﺮاﻣﻴﺘﺮ واﺣﺪ ﺑﺲ رح ﻳﺒﺪء ﻣﻦ ‪ 0‬وﻳﺘﻮﻗﻒ‬


‫ﻋﻨﺪ اﻟﺒﺮاﻣﻴﺘﺮ اﻟﻤﻌﻄﻰ‪.‬‬
‫ﺑﻤﻌﻨﻰ اﺧﺮ‬
‫)‪range(5)=range(0,5‬‬

‫ﻣﺜﺎل اﺧﺮ رح وﺿﺢ اﺳﺘﺨﺪام اﺧﺮ ﻟﻠﺪاﻟﺔ ‪:range‬‬

‫ﺣﺘﻰ ﻧﻘﺪر ﻧﻄﺒﻊ اﻻﻋﺪاد ﻣﻦ ‪ 0‬ﺣﺘﻰ ‪ 10‬ﺑﺎﺳﺘﺨﺪام ‪for‬‬


‫‪for i in range(1,11):‬‬
‫)‪print(i‬‬
‫ﻫﻮن ﻣﻨﻼﺣﻆ ‪:‬‬
‫اﻧﻮ اﻟﺒﺮاﻣﻴﺘﺮ اﻻول ﻟﻠﺪاﻟﺔ ‪ range‬ﺑﻮﺿﺢ ﺑﺪاﻳﺔ اﻟـ ‪.loop‬‬
‫ﺑﻴﻨﻤﺎ اﻟﺒﺮاﻣﻴﺘﺮ اﻟﺘﺎﻧﻲ ﻓﻬﻮ ﺑﻮﺿﺢ اﻧﻮ اﻟﻠﻮب رح ﻳﺘﻮﻗﻒ او ﻳﻨﺘﻬﻲ وﻗﺖ‬
‫ﺗﺼﻴﺮ ﻗﻴﻤﺔ ‪ i‬ﺑـ ‪ 11‬دون ﻃﺒﺎﻋﺔ ﻫﻲ اﻟﻘﻴﻤﺔ‪..‬‬

‫وﺑﺎﻟﺘﺎﻟﻲ رح ﻳﻄﺒﻊ ﻗﻴﻤﺔ ‪ i‬وﻫﻴﺔ ﺑﺎﻟﺒﺪاﻳﺔ ‪ 1‬ﺑﻌﺪﻳﻦ ﺑﺎﻗﻲ اﻻرﻗﺎم ﺣﺘﻰ‬


‫ﻳﻮﺻﻞ ﻟﻠـ ‪ 11‬وﻳﺘﻮﻗﻒ اﻟﻠﻮب دون ﻃﺒﺎﻋﺔ ﻫﻲ اﻟﻘﻴﻤﺔ‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬

‫‪ -8‬اﻟـ ‪Functions‬‬

‫ﺑﺄي ﺳﻜﺮﺑﺖ رح ﺗﺸﻮﻓﻮه ﻋﺎﻟﻨﺖ رح ﺗﻼﻗﻮ ﻣﺴﺘﺨﺪﻣﻴﻦ ﻫﺎﻟﺸﻜﻞ‪:‬‬


‫‪def function():‬‬
‫‪pass‬‬
‫ﻫﻮن ﻋﺮﻓﺖ اﻟـ ‪ function‬ﺑﻘﺪر ﺣﻂ اي ﺷﻲ ﺑﺪي ﻳﺎه ﺑﺪل اﺳﻢ‬
‫‪function‬‬
‫ﻣﺜﺎل‪:‬‬
‫‪def test():‬‬
‫‪pass‬‬
‫ﻋﺮﻓﺖ اﻟـ ‪ function‬ﺑﺎﺳﻢ ‪test‬‬
‫ﻫﻠﻖ اﻟـ ‪ pass‬اﻟﻠﻲ ﻛﺎﺗﺒﺎ ﺑﺘﻌﻨﻲ اﻧﻮ ﻳﺘﺨﻄﺎﻫﺎ ﻟﻠـ ‪ function‬ﻛﻼ‪..‬‬

‫ﻣﺜﺎل ﻟﻠﺘﻮﺿﻴﺢ‪:‬‬
‫‪def test():‬‬
‫‪pass‬‬
‫)"‪print("Test‬‬
‫)"‪print("Hello‬‬

‫ﻫﻮن رح ﻳﻄﺒﻊ ‪ Hello‬ﻓﻘﻂ‪..‬‬


‫اﻣﺎ اﻟـ ‪ Test‬ف ﻣﺎﻃﺒﻌﻬﺎ ﻻﻧﻲ ﺣﺎﻃﻂ ‪ pass‬ﻟﻠـ ‪..function‬‬

‫ﻓﻲ ﺷﻐﻠﺔ ﻣﻬﻤﺔ وﻛﺘﻴﺮ ﻻزم ﻧﻌﺮﻓﻬﺎ واﻟﻠﻲ ﻫﻴﺔ اﻧﻮ اﻟﺒﺎﻳﺜﻮن ﺣﺴﺎﺳﺔ‬
‫ﻟﻠﻤﺴﺎﻓﺎت ﻛﺘﻴﻴﺮ‪..‬‬
‫ﻳﻌﻨﻲ ﺑﺎﻟﻤﺜﺎل ﺣﺎﻃﻂ اﻧﻮ ﻳﻄﺒﻊ اﻟـ ‪ Test‬ﺿﻤﻦ اﻟـ ‪function‬‬
‫اﻣﺎ ﻃﺒﺎﻋﺔ اﻟـ ‪ Hello‬ف ﻻﺣﻈﻮ ﻣﻮﺟﻮدة ﺧﺎاارج اﻟـ ‪ function‬ﻣﺸﺎن‬
‫ﻫﻴﻚ ﻃﺒﻊ اﻟـ ‪ Hello‬وﻣﺎﻃﺒﻊ ﺷﻲ ﻏﻴﺮﻫﺎ‪..‬‬

‫ﻫﻠﻖ ﺑﻘﺎ ﻓﺮﺿﺎ اﻧﺎ ﺑﺪي اﻃﺒﻊ ‪ hello‬ﺑﺎﺳﺘﺨﺪام ‪ function‬ﻓـ ﻻزم اﻛﺘﺐ‬
‫ﺳﻄﺮ ﺑﺮﻣﺠﻲ ﻟﺘﺸﺘﻐﻞ اﻟـ ‪ function‬واﻟﻠﻲ ﻫﻮو‪:‬‬

‫‪if __name__ == '__main__':‬‬


‫)(‪functionName‬‬

‫ﻣﺜﺎل‪:‬‬
‫‪def test():‬‬
‫)"‪print("Hello‬‬

‫‪if __name__ == '__main__':‬‬


‫)(‪test‬‬

‫ﻫﻮن رح ﻳﻄﺒﻊ ‪.. Hello‬اﻣﺎا اذا ﺷﻐﻠﻨﺎ اﻟـ ‪ function‬ﺑﺪون ﻫﺎﻟﺴﻄﺮ‬


‫اﻟﺒﺮﻣﺠﻲ ف رح ﻳﻘﻠﻚ ﻓﻲ ﺧﻄﺎ‪..‬وﻣﺎرح ﻳﺸﺘﻐﻞ ﺷﻲ‪..‬‬

‫‪DONE..‬‬
‫======================================‬
‫======================================‬
‫‪ -9‬اﻟـ ‪class‬‬

‫اﻟﻜﻼس ﻋﺒﺎرة ﻋﻦ ﺣﺎوﻳﺔ ﺑﺘﻘﺪر اﻧﻮ ﺗﺤﻂ ﺑﻘﻠﺒﻬﺎ ﻣﺘﻐﻴﺮات‪ ..‬ﻣﺼﻔﻮﻓﺎت‪..‬‬


‫دوال إﻟﺦ‪..‬‬
‫ﻟﺘﻌﺮﻳﻒ ﻛﻼس ﺟﺪﻳﺪ ﻣﻨﻜﺘﺐ ‪ class‬و ﻣﻨﺤﻄﻠﻮ اﺳﻢ‪..‬وﺑﻌﺪﻳﻦ ﻣﻨﺤﻂ‬
‫ﻧﻘﻄﺘﻴﻦ‪..‬‬

‫ﻣﺜﺎل‪:‬‬
‫ﻋﻤﻠﺖ ﻛﻼس اﺳﻤﻮ ‪ MyClass‬وﺣﻄﻴﺖ ﻓﻴﻪ ﻣﺘﻐﻴﺮ اﺳﻤﻮ ‪x‬‬

‫‪class MyClass:‬‬
‫‪x=3‬‬

‫اول ﺷﻐﻠﺔ‪:‬‬
‫اي ﻣﺘﻐﻴﺮ ﺑﺪﻧﺎ ﻧﻌﺮﻓﻮ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﺑﺎﻟـ ‪ Class‬ﻓـ ﻣﻨﻄﻠﻖ ﻋﻠﻴﻪ اﺳﻢ‬
‫‪property‬‬
‫اﻟﺴﺒﺐ اﻧﻮ ﻛﻞ ﻧﺴﺨﺔ ﺑﺘﻌﻤﻼ ﻣﻦ اﻟﻜﻼس ﺑﻜﻮن اﻟﻬﺎ ﻧﺴﺨﺘﻬﺎ اﻟﺨﺎﺻﺔ ﻣﻦ‬
‫اﻟﻤﺘﻐﻴﺮ‬

‫ﺗﺎﻧﻲ ﺷﻐﻠﺔ‪:‬‬
‫ﻋﻨﺎ ﻳﺎﻫﺎ ﺑﺎﻟﻜﻼس ﻫﻲ اﻟـ ‪object‬‬
‫اﻟـ ‪ object‬ﻋﺒﺎرة ﻋﻦ ﻧﺴﺨﺔ ﻣﻦ اﻟﻜﻼس‪..‬‬
‫ﻟﻌﻤﻞ ﻧﺴﺨﺔ ﻣﻦ ﻛﻼس ﻣﻌﻴﻦ ﻣﻨﻌﺮف ﻣﺘﻐﻴﺮ ﻗﻴﻤﺘﻪ ﺗﺴﺎوي اﺳﻢ اﻟﻜﻼس‪..‬‬
‫وﻣﻨﺤﻂ ﻗﻮﺳﻴﻦ‪..‬‬

‫ﻣﺜﺎل‪:‬‬
‫‪class MyClass:‬‬
‫‪x=0‬‬
‫‪obj = MyClass‬‬

‫‪obj.x = 10‬‬

‫)‪print('obj.x =', obj.x‬‬

‫ﻋﺮﻓﺖ ﻛﻼس اﺳﻤﻮ ‪ ..MyClass‬وﺣﻄﻴﺖ ﻓﻴﻪ ﻣﺘﻐﻴﺮ اﺳﻤﻮ ‪ ..x‬ﺑﻌﺪﻳﻦ‬


‫ﻋﻤﻠﺖ ﻛﺎﺋﻦ ﻣﻦ ﻫﺎد اﻟﻜﻼس اﺳﻤﻮ ‪..obj‬‬
‫اﻟـ ‪ output‬رح ﻳﻜﻮن‬
‫‪obj.x = 10‬‬

‫ﺗﺎﻟﺖ ﺷﻐﻠﺔ‪:‬‬
‫ﺑﺎﻟﻜﻼس ﻣﻨﺴﺘﺨﺪم ﺑﺎراﻣﻴﺘﺮ ‪..self‬‬
‫وﻗﺖ ﺑﺪي ﻋﺮف داﻟﺔ ﺑﺪاﺧﻞ ﻛﻼس‪..‬‬
‫ﺑﺎﻳﺜﻮن ﺑﺘﺠﺒﺮك ع وﺿﻊ اﻟﻜﻠﻤﺔ ‪ self‬او اي ﻛﻠﻤﺔ ﺗﺎﻧﻴﺔ ﻛﺎول ﺑﺎراﻣﻴﺘﺮ ﻓﻴﻬﺎ‬
‫و ﻣﻦ ﺛﻢ وﺿﻊ اﻟﻌﺪد اﻟﻠﻲ ﺑﺪك ﻳﺎه ﻣﻦ اﻟﺒﺎراﻣﻴﺘﺮات‪...‬‬

‫اﻟﺨﻼﺻﺔ‪ :‬ﺣﺘﻰ ﻟﻮ ﻣﺎ ﺑﺪك ﺗﺤﻂ ﺑﺎﻟﺪاﻟﺔ اب ﺑﺎراﻣﻴﺘﺮ ﻓـ رح ﺗﻜﻮن ﻣﺠﺒﺮ ع‬


‫وﺿﻊ اﻟﻜﻠﻤﺔ ‪ self‬او اي ﻛﻠﻤﺔ ﺗﺎﻧﻴﺔ ﻛﺒﺎراﻣﻴﺘﺮ ﻓﻴﻬﺎ‪..‬‬

‫ﺳﺒﺐ وﺿﻊ اﻟﻜﻠﻤﺔ ‪ self‬ﻛﺎول ﺑﺎراﻣﻴﺘﺮ ﺑﺎﻟﺪاﻟﺔ‪:‬‬

‫وﺿﻊ اﻟﻜﻠﻤﺔ ‪ self‬ﻛﺎول ﺑﺎراﻣﻴﺘﺮ ﺑﺎﻟﺪاﻟﺔ ﺑﺨﻠﻲ اﻟﺒﺎﻳﺜﻮن ﻗﺎدرة ع‬


‫اﻟﻮﺻﻮل ﻟﻠﺨﺼﺎﺋﺺ اﻟﻤﻮﺟﻮدة ﺑﻨﻔﺲ اﻟﻜﻼس‪..‬‬
‫ﻳﻌﻨﻲ وﻗﺖ ﺑﺪي ﺣﻂ ﻫﻲ اﻟﻜﻠﻤﺔ ﻛﺒﺎراﻣﺘﻴﺮ ﺑﺎﻟﺪاﻟﺔ ﺑﺘﺼﻴﺮ ﻫﻲ اﻟﻜﻠﻤﺔ‬
‫ﺑﻤﺜﺎﺑﺔ ﻣﺆﺷﺮ ﻟﻠﻜﻼس ﻧﻔﺴﻮ اﻟﺸﻲ اﻟﻠﻲ ﺑﺨﻠﻴﻚ ﻗﺎدر ع اﻟﻮﺻﻮل ﻻي ﺷﻲ‬
‫ﺗﻢ ﺗﻌﺮﻳﻔﻮ داﺧﻞ اﻟﻜﻼس ﻋﻦ ﻃﺮﻳﻘﻬﺎ‪..‬‬
:‫ﻣﺜﺎل‬
class Comparator:
def print_max(self, a, b):
if a > b:
print(a, 'is bigger')
elif a < b:
print(b, 'is bigger')
else:
print('They are equal')

comparator = Comparator()

comparator.print_max(2, 6)

..Comparator ‫ﻫﻮن ﻋﻤﻠﺖ ﻛﻼس اﺳﻤﻮ‬


..( b ‫ و‬a ) ‫ ﻓﻴﻬﺎ ﺑﺎراﻣﻴﺘﺮﻳﻦ ﻓﻘﻂ‬print_max ‫وﺣﻄﻴﺖ ﻓﻴﻪ داﻟﺔ اﺳﻤﺎ‬
‫ ﻛﺎول ﺑﺎراﻣﻴﺘﺮ ﺑﺎﻟﺪاﻟﺔ ﺣﺘﻰ‬self ‫ﻻﺣﻈﻮ اﻧﻮ ﻣﺠﺒﺮﻳﻦ ع اﻧﻮ ﻧﺤﻂ اﻟﻜﻠﻤﺔ‬
..‫وﻟﻮ ﻣﺎﻧﺎ ﺑﺤﺎﺟﺘﻬﺎ‬

‫ رح ﻳﻜﻮن‬output ‫اﻟـ‬
6 is bigger

DONE..
======================================
======================================

Й Basics ‫ﻫﻴﻚ ﻣﻨﻜﻮن ﺧﻠﺼﻨﺎ اﻟـ‬


======================================

Author: The Fiend


Copyright: The Fiend ®™
Version: Not available

Last modified: 12:27 PM

You might also like