PythonBasics - Khosravi
PythonBasics - Khosravi
ﻫ
ی
ﺑﺮا
ن ﺘﻮ
ﭘﺎﯾ
۱۴۰۰-۱۴۰۱
اﻣﯿﺮﺣﺴﯿﻦ ﺧﺴﺮوی
2021-2022
amirkho.ir
ﻣ ﻘ ﺪﻣ ﻪ
اﻣﯿﺮﺣﺴﯿﻦ ﺧﺴﺮوی ﻫﺴﺘﻢ ﮐﺎرﺷﻨﺎﺳﯽ ﻣﻬﻨﺪﺳﯽ ﻧﺮم اﻓﺰار )ﺗﺎ ﺑﻪ اﯾﻨﺠﺎی دوره ﺳﺎل .(۱۴۰۱-۱۴۰۰در دوره ﻫﺎی ﻣﺘﻌﺪد و ﻣﻌﺘﺒﺮ ﺑﯿﻦ اﻟﻤﻠﻠﯽ در زﻣﯿﻨﻪ ﻧﺮم اﻓﺰار ﺷﺮﮐﺖ ﮐﺮده ام و دارای ﭼﻨﺪ ﮔﻮاﻫﯿﻨﺎﻣﻪ ﺑﯿﻦ اﻟﻤﻠﻠﯽ •
و ﮔﻮاﻫﯽ ﻣﺪرس از ﺳﺎزﻣﺎن ﻓﻨﯽ و ﺣﺮﻓﻪ ای ﮐﺸﻮر ﻫﺴﺘﻢ ﻫﻤﭽﻨﯿﻦ ﺳﺎﺑﻘﻪ ﺗﺪرﯾﺲ در آﻣﻮزﺷﮕﺎه ﻫﺎی ﻣﻌﺘﺒﺮ ﮐﺸﻮر و آﻣﻮزش ﻫﺎی آزاد در ﺑﺮﺗﺮﯾﻦ داﻧﺸﮕﺎه ﻫﺎی ﮐﺸﻮر دارم.
ﺑﺴﯿﺎر ﺧﻮﺷﺤﺎل ﻫﺴﺘﻢ ﮐﻪ اﯾﻦ دوره را ﺑﺮای ﺷﺮوع ﯾﺎدﮔﯿﺮی اﻧﺘﺨﺎب ﮐﺮده اﯾﺪ ﭼﺮاﮐﻪ در ﻣﺴﯿﺮ درﺳﺘﯽ ﺟﻬﺖ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻗﺮار ﮔﺮﻓﺘﻪ اﯾﺪ. •
از ۱۲دوازده ﺳﺎﻟﮕﯽ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ را ﺷﺮوع ﮐﺮده ام و ﺣﺪودا ﺗﺎ اﻻن ۶ﺳﺎل اﺳﺖ ﮐﻪ ﺑﻪ زﺑﺎن ﭘﺎﯾﺘﻮن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻣﯿﮑﻨﻢ و ﭘﺮوژه ﻫﺎی ﻣﺘﻌﻌﺪی اﻧﺠﺎم داده ام. •
در اﯾﻦ آﻣﻮزش ﺳﻌﯽ ﺷﺪه از ﺑﺮوزﺗﺮﯾﻦ ﻣﺘﺪ ﻫﺎی آﻣﻮزﺷﯽ و ﺗﺠﺮﺑﻪ ﺷﺨﺼﯽ ۶ﺳﺎﻟﻪ در زﻣﯿﻨﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﭘﺎﯾﺘﻮن اﺳﺘﻔﺎده ﺑﺸﻮد ﮐﻪ ﺷﻤﺎ ﻋﺰﯾﺰان ﺑﯿﺸﺘﺮﯾﻦ ﺑﻬﺮه را ﺑﺒﺮﯾﺪ. •
در ﺑﺨﺶ ﻫﺎﯾﯽ از آﻣﻮزش ﭘﺮوژه ﻫﺎی ﻋﻤﻠﯽ را اﻧﺠﺎم ﻣﯿﺪﻫﯿﻢ .در ﻫﺮ ﺑﺨﺸﯽ ﮐﻪ ﺑﻪ ﻣﺸﮑﻞ ﺧﻮردﯾﺪ ﻣﯿﺘﻮاﻧﯿﺪ از ﻃﺮﯾﻖ ﺳﺎﯾﺖ ﯾﺎ اﯾﻤﯿﻞ ﻣﺪرس ﺳﻮاﻻت ﺧﻮد را ﻣﻄﺮح ﮐﻨﯿﺪ. •
ﮐﻠﻤﺎت ﮐﻠﯿﺪی و رزرو ﺷﺪه ﭘﺎﯾﺘﻮن 10 ﺗﻌﺮﯾﻒ ﺑﺮﻧﺎﻣﻪ )(Program 2
ﮐﺎﻣﻨﺖ/ﻧﺸﺎﻧﻪ ﮔﺬاری 11 ﻣﻌﺮﻓﯽ ﺑﺮﺧﯽ از زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ 3
داده ﻫﺎی ﻋﺪدی )(Numeric types 14 ﻣﻌﺮﻓﯽ ﺑﺮﺧﯽ از IDEﻫﺎ 6
ﺗﺼﺨﯿﺺ ﭼﻨﺪﮔﺎﻧﻪ )(Multiple assignment 15 ﻧﺼﺐ ﭘﺎﯾﺘﻮن و Python IDLE 7
رﺷﺘﻪ ﻫﺎ ) (Stringsﺑﺨﺶ ۱ 16 ﻧﻮﺷﺘﻦ اوﻟﯿﻦ ﺑﺮﻧﺎﻣﻪ ! – Hello,Worldﺗﺎﺑﻊ print 8
ﻋﻤﻠﮕﺮﻫﺎی ﻋﻀﻮﯾﺖ membership operators 28 ﺗﺒﺪﯾﻞ ﻧﻮع داده ﻫﺎ )(Data type conversation 18
ﺷﺮط ﻫﺎ و ﺗﺼﻤﯿﻢ ﮔﯿﺮی Conditions and Decision 30 ﭘﺎراﻣﺘﺮ ﻫﺎی ﺗﺎﺑﻊ print 20
ﭘﺮوژه ﻣﺎﺷﯿﻦ ﺣﺴﺎب ﺳﺎده 36 ﻋﻤﻠﮕﺮﻫﺎی ﺗﺼﺨﯿﺼﯽ assignment operators 26
ﺗﺸﺨﯿﺺ اﻋﺪاد زوج و ﻓﺮد ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ while 47 ﻋﻤﻠﮕﺮﻫﺎی ﻣﻨﻄﻘﯽ در ﺷﺮط ﻫﺎ 37
ﭘﺮوژه ﺗﺸﺨﯿﺺ رﻣﺰ ﻋﺒﻮر ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ while 48 ﻋﺒﺎرات ﺷﺮﻃﯽ ﮐﻮﺗﺎه Short condition statements 38
ﺣﻠﻘﻪ ﺗﮑﺮار ﻣﻌﯿﯿﻦ for 49 ﻋﺒﺎرات ﺷﺮﻃﯽ ﺗﻮ در ﺗﻮ Nested if 39
ﺗﺎﺑﻊ rangeدر ﺣﻠﻘﻪ for 50 اﺳﺘﻔﺎده از ﻋﺒﺎرات ﺷﺮﻃﯽ ﺗﻮ در ﺗﻮ در ﻣﺎﺷﯿﻦ ﺣﺴﺎب 40
ﻋﺒﺎرت ﺷﺮﻃﯽ elseدر ﺣﻠﻘﻪ for 51 ﭘﺮوژه ﺑﺮرﺳﯽ دﻣﺎی ﻫﻮا ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرات ﺷﺮﻃﯽ 41
ﻋﺒﺎرت ﮐﻨﺘﺮﻟﯽ continue 55 ﻋﺒﺎرت ﺷﺮﻃﯽ elseدر ﺣﻠﻘﻪ while 45
ﺣﻠﻘﻪ ﻫﺎی ﺗﻮ در ﺗﻮ Nested loops 56 اداﻣﻪ ﭘﺮوژه ﺑﺮرﺳﯽ دﻣﺎ ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ while 46
ﻣﺘﺪ ﻫﺎی ﺣﺬف ﮐﺮدن آﯾﺘﻢ ﻫﺎ در ﻟﯿﺴﺖ 67 ﺟﺪول ﺿﺮب ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ ﻫﺎی ﺗﻮ در ﺗﻮ 57
ﻣﺘﺪ ﻫﺎی ﻣﺮﺗﺐ ﺳﺎزی ﻟﯿﺴﺖ 68 رﺷﺘﻪ ﻫﺎ ) (Stringsﺑﺨﺶ ۲ﺗﮑﻤﯿﻠﯽ 58
دﺳﺘﺮﺳﯽ ﺑﻪ آﯾﺘﻢ ﻫﺎی ﺗﺎﭘﻞ 73 ﺗﻐﯿﯿﺮ آﯾﺘﻢ ﻫﺎی ﻟﯿﺴﺖ 63
ﺑﺮوزرﺳﺎﻧﯽ ﺗﺎﭘﻞ 74 ﻣﺘﺪ ﻫﺎی اﺿﺎﻓﻪ ﮐﺮدن آﯾﺘﻢ ﺑﻪ ﻟﯿﺴﺖ 64
Packing & Unpacking Tuple 75 ﭘﺮوژه ذﺧﯿﺮه ﻣﺨﺎﻃﺐ در ﻟﯿﺴﺖ 65
ﺣﻠﻘﻪ زدن در ﺗﺎﭘﻞ ﻫﺎ 76 ﺣﻠﻘﻪ زدن در ﻟﯿﺴﺖ ﻫﺎ 66
دﺳﺘﺮﺳﯽ ﺑﻪ آﯾﺘﻢ ﻫﺎی دﯾﮑﺸﻨﺮی 87 اﻟﺤﺎق ﺗﺎﭘﻞ ﻫﺎ join 77
ﺣﻠﻘﻪ زدن در دﯾﮑﺸﻨﺮی ﻫﺎ 91 دﺳﺘﺮﺳﯽ ﺑﻪ آﯾﺘﻢ ﻫﺎی ﺳﺖ 81
ﮐﭙﯽ ﮐﺮدن دﯾﮑﺸﻨﺮی ﻫﺎ 92 اﺿﺎﻓﻪ ﮐﺮدن آﯾﺘﻢ ﺑﻪ ﺳﺖ 82
ﻧﺎم ﮔﺬاری دﻟﺨﻮاه ﻣﺎژول ﻫﺎ Re-Naming 110 ﻧﺎ ﻣﺸﺨﺺ ﮐﺮدن ﺗﻌﺪاد آرﮔﻮﻣﺎن ﻫﺎی ﺗﺎﺑﻊ 100
ﻣﺎژول ﻫﺎی ﭘﯿﺶ ﺳﺎﺧﺘﻪ Built-in modules 112 ﭘﺎراﻣﺘﺮ ﻫﺎی ﭘﯿﺸﻔﺮض 102
ﺑﺮرﺳﯽ ﻣﺎژول ﻫﺎی ﭘﯿﺶ ﺳﺎﺧﺘﻪ 113 اﻧﻮاع داده در ﺑﻪ ﻋﻨﻮان آرﮔﻮﻣﺎن 103
ﭘﺮوژه ﺑﺎزی ﺣﺪس ﺗﺎس 115 ﻣﻘﺎدﯾﺮ ﺑﺎزﮔﺸﺘﯽ ) (Return valuesدر ﺗﺎﺑﻊ 105
ﺣﺎﻟﺖ ﻫﺎی ﺑﺎز ﮐﺮدن ﻓﺎﯾﻞ 129 ﺑﺮرﺳﯽ ﺟﺰﺋﯽ ﻣﺎژول tkinter 119
ﺑﺴﺘﻦ ﻓﺎﯾﻞ – ﻋﺒﺎرت with & open 130 ﻣﺪﯾﺮﯾﺖ ﺑﺴﺘﻪ ﭘﺎﯾﺘﻮن pip 120
ﻧﻮﺷﺘﻦ )ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮا( در ﯾﮏ ﻓﺎﯾﻞ 132 اﺳﺘﻔﺎده از ﺑﺴﺘﻪ ﻧﺼﺐ ﺷﺪه deep-translator 122
ﭘﺮوژه ذﺧﯿﺮه ﻣﺨﺎﻃﺐ در ﻓﺎﯾﻞ txt 133 ﺗﺮﮐﯿﺐ ﭼﻨﺪ ﺑﺴﺘﻪ و ﻣﺎژول – ﺑﺮﻧﺎﻣﻪ ﻣﺘﺮﺟﻢ 123
• ﻣﻌﻤﻮﻻ ً ﺑﺮﻧﺎﻣﻪﻫﺎی راﯾﺎﻧﻪای ﺗﻮﺳﻂ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ) (Programmerو ﺗﺤﺖ ﯾﮏ ﯾﺎ ﭼﻨﺪ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
ﻧﻮﺷﺘﻪ ﻣﯽﺷﻮﻧﺪ.
ﺑﻪ ﻣﺠﻤﻮﻋﻪای از ﺑﺮﻧﺎﻣﻪﻫﺎ ،ﻣﺎژول ) / (Moduleﭘﮑﯿﺞ ) (Packageو ﭼﻬﺎرﭼﻮب ﻫﺎ ) (Frameworkو داده ﻫﺎی •
) (Dataﻣﺮﺗﺒﻂ ﺑﺎ آنﻫﺎ ﻧﺮم اﻓﺰار ) (Softwareﻣﯽﮔﻮﯾﻨﺪ
ﻣﻌﺮﻓﯽ ﺑﺮﺧﯽ از زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
ﻣﺘﻦ ﺑﺎز ) – (open sourceﭼﻨﺪ ﺳﮑﻮﯾﯽ ﺗﻮﺳﻌﻪ ﻧﺮم اﻓﺮار ﻫﺎی ﺗﺤﺖ دﺳﮑﺘﺎپ -ﻫﻮش
) – (Cross-Platformﺷﺊ ﮔﺮا )–(O.O
ﺗﻔﺴﯿﺮی ) – (Interpretﺳﻄﺢ ﺑﺎﻻ -ﺳﺎﺧﺘﻤﺎن ﻣﺼﻨﻮﻋﯽ – رﯾﺎﺿﯿﺎت و آﻣﺎر – ﺗﺤﻠﯿﻞ داده – Python
داده ﭘﻮﯾﺎ )(Dynamic D.S ﺗﻮﺳﻌﻪ وب و ﻋﻠﻮم ﭘﺰﺷﮑﯽ و...
دوﺳﺖ ﻋﺰﯾﺰم ﻋﺒﺎرت ﻫﺎی ﺗﺨﺼﺼﯽ اﺷﺎره ﺷﺪه ﺻﺮﻓﺎ ﺟﻬﺖ آﺷﻨﺎﯾﯽ و ﻓﺎل ﮐﺮدن ﺣﺲ ﮐﻨﺠﮑﺎوی ﺷﻤﺎ اﺳﺖ .ﺑﻨﺎﺑﺮﯾﻦ اﺻﻼ ﻧﮕﺮان ﻧﺒﺎﺷﯿﺪ ﭼﻮن ﺑﻪ زودی آﺷﻨﺎ ﻣﯿﺸﻮﯾﺪ
ﻣﻌﺮﻓﯽ ﻣﺨﺘﺼﺮ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ PYTHON
• در ﺳﺎل ۱۹۸۹ﺗﻮﺳﻂ آﻗﺎی Guido van Rossumﺷﺮوع ﺑﻪ ﻃﺮاﺣﯽ و در ﺳﺎل ۱۹۹۱ﻣﻨﺘﺸﺮ ﺷﺪ.
• دارای ﻣﺎژول ﻫﺎ و ﭼﺎرﭼﻮب ﻫﺎی ﮔﺴﺘﺮده و ﻣﺘﻨﻮع ﺑﺮای ﺣﻮزه ﻫﺎی ﻣﺨﺘﻠﻒ.
• آﺧﺮﯾﻦ ﻧﺴﺨﻪ ﻣﻨﺘﺸﺮ ﺷﺪه آن ﺗﺎ اﯾﻦ ﻟﺤﻈﻪ 3.10اﺳﺖ ۱۴) .ژاﻧﻮﯾﻪ (۲۰۲۲
• ﺑﺎ ﻣﻔﻬﻮم ﺑﺮﻧﺎﻣﻪ و ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ آﺷﻨﺎ ﺷﺪﯾﻢ .ﺣﺎل ﮐﺠﺎ ﺑﺎﯾﺪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﮐﻨﯿﻢ و ﺑﺮﻧﺎﻣﻪ ﺧﻮد را ﺑﺴﺎزﯾﻢ؟
• ﺑﺮای ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻧﯿﺎز ﺑﻪ ﻧﺮم اﻓﺰار ﻫﺎی ﻣﺤﯿﻂ ﺗﻮﺳﻌﻪ ﯾﮑﭙﺎرﭼﻪ ﯾﺎ ﺑﻪ اﺧﺘﺼﺎر IDE (integrated development
• ﺗﻔﺎوت IDEو Code Editorﭼﯿﺴﺖ؟ IDEﻫﺎ ﻣﺤﯿﻂ ﻫﺎی ﺗﻮﺳﻌﻪ ﮐﺎﻣﻠﯽ ﻫﺴﺘﻨﺪ ﺟﺪای از اﻣﮑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
ﻣﺠﻤﻮﻋﻪ ای از اﺑﺰار ﻫﺎی ﻣﻔﯿﺪ ﺑﺮای ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن را در اﺧﺘﯿﺎرﻣﺎن ﻗﺮار ﻣﯿﺪﻫﺪ و درون اﯾﻦ ﻣﺤﯿﻂ ﻣﺴﺘﻘﯿﻢ
ﺑﺮﻧﺎﻣﻪ ﻣﺎ اﺟﺮا ﻣﯿﺸﻮد .اﻣﺎ وﯾﺮاﯾﺸﮕﺮ ﻫﺎی ﮐ ٌﺪ ﻣﺎ ﻓﻘﻂ اﻣﮑﺎن ﻧﻮﺷﺘﻦ ﮐﺪ ﻫﺎی ﺑﺮﻧﺎﻣﻪ را ﻣﯿﺪﻫﺪ و ﺑﺮای اﺟﺮا ﻧﯿﺎز ﺑﻪ
اﺑﺰار ﻫﺎی ﺟﺎﻧﺒﯽ دارﯾﻢ .ﻗﺎﻋﺪﺗﺎ ً وﯾﺮاﯾﺸﮕﺮ ﻫﺎی ﮐﺪ ﺑﺴﯿﺎر ﺳﺒﮑﺘﺮ ﻫﺴﺘﻨﺪ.
ﻣﻌﺮﻓﯽ ﺑﺮﺧﯽ IDEو CODE EDITORﻫﺎ
ﻏﯿﺮ راﯾﮕﺎن – ﭘﺸﺘﯿﺒﺎﻧﯽ از زﺑﺎن ﻫﺎی ﻣﺘﻌﺪد – ﺑﺴﯿﺎر ﺳﺒﮏ Sublime Text
راﯾﮕﺎن -ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﭘﺎﯾﺘﻮن در ﻣﻮﺑﺎﯾﻞ ﻫﺎی ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ اﻧﺪروﯾﺪ PyDroid
ﻧﺼﺐ PYTHON
• ﺟﻬﺖ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ زﺑﺎن ﭘﺎﯾﺘﻮن ﻧﯿﺎز ﺑﻪ ﻧﺼﺐ آن و ﻫﻤﭽﻨﯿﻦ ﻧﺼﺐ ﯾﮑﯽ از IDEﻫﺎی ﻣﻌﺮﻓﯽ ﺷﺪه دارﯾﻢ.
• ﺑﺮای ﻧﺼﺐ ﻣﻄﻤﺌﻦ ﺑﻬﺘﺮ اﺳﺖ ﭘﺎﯾﺘﻮن را از ﺳﺎﯾﺖ رﺳﻤﯽ آن ﺑﻪ آدرس python.orgﻣﺮاﺟﻌﻪ ﮐﺮده و از آﻧﺠﺎ اﻗﺪام ﺑﻪ داﻧﻠﻮد و
ﻧﺼﺐ ﮐﻨﯿﻢ.
• در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻟﯿﻨﻮﮐﺲ ) (Linuxو ﻣﮑﯿﻨﺘﺎش ) (Mac osﭘﺎﯾﺘﻮن ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض ﻧﺼﺐ اﺳﺖ .
• ﺟﻬﺖ اﻃﻤﯿﻨﺎن از ﻧﺼﺐ ﺑﻮدن ﻣﯿﺒﺎﯾﺴﺖ در ﯾﮑﯽ از ﻣﺤﯿﻂ ﻫﺎی CMD/Terminalﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻮع ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ دﺳﺘﻮر
pythonﯾﺎ python3وارد ﮐﻨﯿﻢ .ﺧﺮوﺟﯽ ﻣﯿﺒﺎﯾﺴﺖ در ﺗﻤﺎم ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎ ﻣﻄﺎﺑﻖ/ﻣﺸﺎﺑﻪ ﺗﺼﻮﯾﺮ زﯾﺮ ﺑﺎﺷﺪ:
PYTHON IDLE
ﭘﺲ از ﻧﺼﺐ ﭘﺎﯾﺘﻮن از ﻣﺮﺟﻊ رﺳﻤﯽ در واﻗﻊ دو ﻧﺮم اﻓﺰار IDLEو Python Launcherدر ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺎ ﻧﺼﺐ ﻣﯿﺸﻮد. •
ﻫﻤﭽﻨﯿﻦ ﺑﻪ ﻃﻮر ﺧﻮدﮐﺎر در رﯾﺸﻪ ) (rootﻧﯿﺰ ﻧﺼﺐ ﻣﯿﺸﻮد و از ﻃﺮﯾﻖ ﻣﺤﯿﻂ ﻫﺎی CMD/Terminalﺑﺎ دﺳﺘﻮر python/python3در دﺳﺘﺮس ﻗﺮار ﺧﻮاﻫﺪ •
ﮔﺮﻓﺖ.
ﺗﻔﺎوت اﺟﺮای ﭘﺎﯾﺘﻮن از ﻃﺮﯾﻖ CMD/Terminalﺑﺎ IDLEﯾﺎ ﺑﻘﯿﻪ ﻣﺤﯿﻂ ﻫﺎی ﺗﻮﺳﻌﻪ در ﭼﯿﺴﺖ؟ •
ﺑﻪ ﻃﻮر ﺧﯿﻠﯽ ﺳﺎده و ﺧﻼﺻﻪ ﺗﻔﺎوت در ذﺧﯿﺮه ﺷﺪن ﮐ ٌﺪ ﻫﺎی ﺑﺮﻧﺎﻣﻪ اﺳﺖ .اﮔﺮ ﻣﺤﯿﻂ ﻫﺎی ﮐﻨﺴﻮل CMD/Terminalﮐ ٌﺪﻣﺎن را ﺑﻨﻮﯾﺴﯿﻢ ﻓﻘﻂ در ﻟﺤﻈﻪ و •
ﻫﻤﺎﻧﺠﺎ ﻣﯿﺘﻮان ﻧﺘﯿﺠﻪ/ﺧﺮوﺟﯽ ﺧﻮد را ﺑﺒﯿﻨﯿﻢ .اﻣﺎ اﮔﺮ در ﻣﺤﯿﻂ ﻫﺎی ﺗﻮﺳﻌﻪ اﯾﻦ ﮐﺎر را اﻧﺠﺎم دﻫﯿﻢ ﻣﯿﺘﻮاﻧﯿﻢ ﭘﺮوژه ﺧﻮد را در ﻗﺎﻟﺐ ﻓﺎﯾﻞ ﻫﺎی .pyذﺧﯿﺮه
ﮐﻨﯿﻢ و ﻫﺮ زﻣﺎن ﮐﻪ ﻧﯿﺎز داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺑﻪ آن دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﻨﯿﻢ و وﯾﺮاﯾﺶ اﻧﺠﺎم دﻫﯿﻢ.
اوﻟﯿﻦ ﺑﺮﻧﺎﻣﻪ
ﭘﺲ از ﻧﺼﺐ و ﺗﺴﺖ اﺑﺰارﻫﺎی ﻻزم ﺟﻬﺖ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﭘﺎﯾﺘﻮن وﻗﺖ آن اﺳﺖ ﮐﻪ اوﻟﯿﻦ ﺑﺮﻧﺎﻣﻪ ﺧﻮد را ﺑﻨﻮﯾﺴﯿﻢ. •
(6ﻋﺪم رﻋﺎﯾﺖ ﻓﺎﺻﻠﻪ ﻫﺎ و ﭘﺮاﻧﺘﺰ و ﺑﻘﯿﻪ ﻋﻼﻣﺖ ﻫﺎ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻣﺸﮑﻞ ﻣﯿﺨﻮرد و ﺧﻄﺎی syntax errorﻣﯿﺪﻫﺪ!
(7اﯾﻦ اوﻟﯿﻦ ﺑﺮﻧﺎﻣﻪ ﻣﺎ ﺑﻮد ﮐﻪ ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮاﻧﯿﺪ در ﯾﮑﯽ از ﻣﺤﯿﻂ ﻫﺎی ﺗﻮﺳﻪ آن را ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺘﻮاﻧﯿﺪ ذﺧﯿﺮه ﮐﻨﯿﺪ و وﯾﺮاﯾﺶ!
ﺗﻌﺮﯾﻒ ﺳﺎده ﺗﺎﺑﻊ )(FUNCTION
• ﺟﻬﺖ درک ﻣﻔﻬﻮﻣﯽ ﺗﺎﺑﻊ ﻋﻤﻠﮑﺮد ﯾﮏ ﻣﺎﺷﯿﻦ ﺑﺴﺘﻨﯽ ﺳﺎز را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ:
• printﻧﯿﺰ ﯾﮑﯽ از ﺗﻮاﺑﻌﯽ اﺳﺖ ﮐﻪ در ﺑﺴﯿﺎری از زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض وﺟﻮد دارد ) (Built in Functionsو
)FunctionName (Data • ﻧﺤﻮه اﺳﺘﻔﺎده از ﺗﺎﺑﻊ در زﺑﺎن ﭘﺎﯾﺘﻮن ﺑﻪ اﯾﻦ ﺷﮑﻞ اﺳﺖ:
ﻧﺎم ﺗﺎﺑﻊ ﻣﻘﺪار ورودی • ﺗﺎﺑﻊ ﺧﺮوج ﺑﺮای ﺧﺎرج ﺷﺪن از ﺑﺮﻧﺎﻣﻪ ﻓﻌﻠﯽ ﯾﺎ ﺧﺮوج ﮐﻠﯽ از ﭘﺎﯾﺘﻮنexit() :
ﻣﯿﺘﻮاﻧﯿﺪ اﻟﺰاﻣﯽ ﺑﺎﺷﺪ ﯾﺎ ﻧﺒﺎﺷﯿﺪ
PYTHON KEYWORDS
ﻫﻤﻪ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺷﺎﻣﻞ ﯾﮑﺴﺮی ﮐﻠﻤﺎت ﻫﺴﺘﻨﺪ ﺑﻪ ﻃﻮر وﯾﮋه ﺑﺮای ﻓﻘﻂ ﺑﺮای ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺑﻪ آن زﺑﺎن ﺗﻌﺮﯾﻒ و رزرو ﺷﺪه اﻧﺪ ﮐﻪ دارای •
ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ و ﺳﺎده اﯾﻨﮑﻪ ﻧﻤﯿﺘﻮاﻧﯿﻢ از آﻧﻬﺎ اﺳﺘﻔﺎده ﺷﺨﺼﯽ در ﻧﺎم ﮔﺬاری ﻫﺎ داﺷﺘﻪ ﺑﺎﺷﯿﻢ! (3
ﮐﺎﻣﻨﺖ را ﺻﺮﻓﺎ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﻣﯿﻨﻮﯾﺴﺪ و ﺗﻨﻬﺎ ﺧﻮدش ﺑﻪ آن دﺳﺘﺮﺳﯽ دارد. •
ﻣﻔﺴﺮ ﭘﺎﯾﺘﻮن ﮐﺎﻣﻨﺖ ﻫﺎ را ﺑﻪ ﻋﻨﻮان دﺳﺘﻮر ﯾﺎ ...در ﻧﻈﺮ ﻧﻤﯿﮕﯿﺮد و اﺟﺮا ﻧﻤﯿﮑﻨﺪ. •
ﺑﺮای ﮐﺎﻣﻨﺖ ﮔﺬاﺷﺘﻦ ﺗﮏ ﺧﻄﯽ در ﺑﺮﻧﺎﻣﻪ از ﻋﻼﻣﺖ ) Hash sign (#اﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ و ﺑﻌﺪ از آن ﭘﯿﺎم/ﻣﺘﻦ ﺧﻮد را ﻣﯿﻨﻮﯾﺴﻢ. •
ﺑﺮای ﮐﺎﻣﻨﺖ ﮔﺬاﺷﺘﻦ ﭼﻨﺪ ﺧﻄﯽ ﺑﻪ ﻗﺒﻞ و ﺑﻌﺪ از ﭘﯿﺎم/ﻣﺘﻦ ﺧﻮد ۳ﺑﺎر از ﻋﻼﻣﺖ )’( Quotaionاﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ. •
ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻣﺸﺎﻫﺪه ﮐﺮدﯾﺪ ﻣﻔﺴﺮ ﭘﺎﯾﺘﻮن ﮐﺎﻣﻨﺖ ﻫﺎ را در ﻧﻈﺮ ﻧﮕﺮﻓﺖ و ﺗﻨﻬﺎ ﺗﺎﺑﻊ printاﺟﺮا ﺷﺪ
VARIABLES Part 1
ﻣﺘﻐﯿﯿﺮ ) (Variablesﯾﮏ ﻓﻀﺎی ذﺧﯿﺮه ﺳﺎزی ﻣﻮﻗﺖ اﻃﻼﻋﺎت در ﺣﺎﻓﻈﻪ RAMاﺳﺖ. •
از آﻧﺠﺎ ﮐﻪ اﻃﻼﻋﺎت ﻣﺘﻐﯿﯿﺮ در ﺣﺎﻓﻈﻪ RAMذﺧﯿﺮه ﻣﯿﺸﻮد ﺑﺎ ﺑﺴﺘﻪ ﺷﺪن ﯾﺎ ﺧﺎﻣﻮش ﺷﺪن ﺳﯿﺴﺘﻢ اﻃﻼﻋﺎت ﻣﺘﻐﯿﯿﺮ ﻫﺎ ﺣﺬف •
ﻣ ﯿ ﺸ ﻮد .
ﻣﺘﻐﯿﯿﺮ ﻫﺎ ﻧﻮع ) (typeﻫﺎی ﻣﺨﺘﻠﻔﯽ دارﻧﺪ و ﻫﺮ ﮐﺪام ﺑﺮای ذﺧﯿﺮه ﺳﺎزی ﯾﮏ ﻧﻮع داده ﮐﺎرﺑﺮد دارد. •
ﺑﺮای درک ﺳﺎده اﻧﻮاع ﻣﺘﻐﯿﯿﺮ ﻇﺮف ﻫﺎی ﻏﺬا را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ ﮐﻪ ﻫﺮ ﮐﺪام ﻣﻨﺎﺳﺐ ﻧﻮﻋﯽ از ﻏﺬا ﻫﺴﺘﻨﺪ ﺑﺮای ﻣﺜﺎل :دﯾﺲ ﻣﺨﺼﻮص •
از آﻧﺠﺎ ﮐﻪ زﺑﺎن ﭘﺎﯾﺘﻮن از ﻧﻈﺮ ﺳﺎﺧﺘﻤﺎن داده ﭘﻮﯾﺎ اﺳﺖ ﻣﺎ ﻧﻮع ﻣﺘﻐﯿﯿﺮ ﻫﺎ را ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض ﺗﻌﺮﯾﻒ ﻧﻤﯿﮑﻨﯿﻢ و ﺧﻮد ﻣﻔﺴﺮ ﭘﺎﯾﺘﻮن •
ﻧﻮع آن را از روی اﻃﻼﻋﺎت ﻣﻮﺟﻮد در آن ﺗﺸﺨﯿﺺ ﻣﯿﺪﻫﺪ ﺑﺮ ﺧﻼف ﺑﺴﯿﺎری از زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ دﯾﮕﺮ ﮐﻪ ﻣﯿﺒﺎﺳﺖ ﻧﻮع ﻣﺘﻐﯿﯿﺮ
ﺗﺼﻮﯾﺮ زﯾﺮ ﻣﺮﺑﻮط ﺑﻪ ﺗﻤﺎﻣﯽ اﻧﻮاع داده ) (Data Typesدر زﺑﺎن ﭘﺎﯾﺘﻮن اﺳﺖ: •
• ﻧﺎم ﻣﺘﻐﯿﯿﺮ را ﻣﯿﺘﻮان ﺑﻪ ﻋﻨﻮان ورودی ﺗﺎﺑﻊ printدر ﻧﻈﺮ ﮔﺮﻓﺖ ﺗﺎ آن را ﭼﺎپ/ﻧﻤﺎﯾﺶ دﻫﺪ
ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮان ﺑﻪ ﺗﺎﺑﻊ printﭼﻨﺪ آرﮔﻮﻣﺎن )ورودی از ﻧﻮع ﻣﻘﺪار( داد ﮐﻪ ﺑﺎ ﻋﻼﻣﺖ ,از ﯾﮑﺪﯾﮕﺮ ﺟﺪا ﻣﯿﺸﻮﻧﺪ. •
VARIABLES Part 5 Strings
• داده ﻫﺎی رﺷﺘﻪ ای ) Stringsﻣﺘﻨﯽ/ﻏﯿﺮ ﻣﺤﺎﺳﺒﻪ( ﺣﺘﻤﺎ ﺑﺎﯾﺪ درون دو ﻋﻼﻣﺖ “ ” ﯾﺎ ‘ ’ ﻗﺮار ﮔﯿﺮﻧﺪ و از اﯾﻦ ﺣﯿﺚ ﺑﺎ داده ﻫﺎی
””” ﻗﺮار ﻣﯿﺪﻫﯿﻢ. • در ﺻﻮرت ﭼﻨﺪ ﺧﻄﯽ ﺑﻮدن رﺷﺘﻪ آن را ﺑﯿﻦ ﻋﻼﻣﺖ ﻫﺎی “”” three quotes
• رﺷﺘﻪ ﻫﺎی ﺑﻪ ﺧﻮدی ﺧﻮد آراﯾﻪ ﻫﺴﺘﻨﺪ .ﯾﻌﻨﯽ اﯾﻨﮑﻪ از ﺑﻪ ﻫﻢ ﭘﯿﻮﺳﺘﻦ ﻫﺎی ﮐﺎراﮐﺘﺮ ﺑﻪ وﺟﻮد
üﻣﻘﺪار ﻣﺘﻨﯽ داﺧﻞ ﻣﺘﻐﯿﯿﺮ را ﺧﺎرج از ﻋﻼﻣﺖ “ “ ﯾﺎ ‘ ‘ﻗﺮار دﻫﯿﺪ و ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﮐﻨﯿﺪ.
ﻣﻮارد زﯾﺮ ﻗﻮاﻧﯿﻦ ﻧﺎﻣﮕﺬاری ﻣﺘﻐﯿﺮﻫﺎ ،ﺗﻮاﺑﻊ و ﮐﻼس ﻫﺎ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﺎﯾﺪ آﻧﻬﺎ را رﻋﺎﯾﺖ ﮐﻨﯿﻢ: •
ﻧﺎم ﻫﺎ ﺑﻪ ﺣﺮوف ﮐﻮﭼﮏ و ﺑﺰرگ ﺣﺴﺎس ﻫﺴﺘﻨﺪ ) . (Case-sensetiveﻣﺘﻐﯿﯿﺮ ageو Ageدو ﻣﺘﻐﯿﯿﺮ ﻣﺠﺰا ﻫﺴﺘﻨﺪ. •
ﻧﺎم ﻫﺎ ﻣﯽ ﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ ﺣﺮوف ﮐﻮﭼﮏ و ﺑﺰرگ ،ﻫﻤﭽﻨﯿﻦ اﻋﺪاد و _ underscoreﺑﺎﺷﻨﺪ[ A-z , 0-9 , _ ] . •
ﻧﺎم ﻫﺎ ﻧﻤﯽ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻋﺪد ﺷﺮوع ﺷﺪه و ﯾﺎ دارای ﻓﺎﺻﻠﻪ ﺑﺎﺷﻨﺪ. •
ﻧﺎم ﻫﺎ ﻧﻤﯽ ﺗﻮاﻧﻨﺪ اﺳﺎﻣﯽ رزرو ﺷﺪه در ﭘﺎﯾﺘﻮن ﺑﺎﺷﻨﺪ ،ﻣﺎﻧﻨﺪ int : •
ﺗﻮاﺑﻌﯽ ﺑﺮای ﺗﺒﺪﯾﻞ ﻧﻮع داده وﺟﻮد دارﻧﺪ ﮐﻪ ﺗﻨﻬﺎ ﺑﺮﺧﯽ از آن ﻫﺎ ﺑﻪ ﺷﺮح ﺟﺪول زﯾﺮ ﻫﺴﺘﻨﺪ: •
Function Description
)int(x ﻣﻘﺪار ورودی xرا ﺑﻪ ﻋﺪد ﺻﺤﯿﺢ ﺗﺒﺪﯾﻞ ﻣﯿﮑﻨﺪ .ﻣﻘﺎدﯾﺮ رﺷﺘﻪ ای و اﻋﺸﺎری را ﻗﺒﻮل ﻣﯿﮑﻨﺪ.
)float(x ﻣﻘﺪار ورودی xرا ﺑﻪ ﻋﺪد اﻋﺸﺎری ﺗﺒﺪﯾﻞ ﻣﯿﮑﻨﺪ .ﻣﻘﺎدﯾﺮ رﺷﺘﻪ ای و ﻋﺪد ﺻﺤﯿﺢ را ﻗﺒﻮل ﻣﯿﮑﻨﺪ.
)hex(x ﻣﻘﺪار ورودی xرا ﺑﻪ رﺷﺘﻪ ای ﺑﺮ ﻣﺒﻨﺎی ۱۶ﺗﺒﺪﯾﻞ ﻣﯿﮑﻨﺪ .ﺗﻨﻬﺎ ﻋﺪد ﺻﺤﯿﺢ را ﻗﺒﻮل ﻣﯿﮑﻨﺪ.
ﻣﻘﺪار ورودی xرا ﺑﻪ رﺷﺘﻪ ای ﺑﺮ ﻣﺒﻨﺎی ۱۶ﺗﺒﺪﯾﻞ ﻣﯿﮑﻨﺪ .ﺗﻨﻬﺎ ﻋﺪد ﺻﺤﯿﺢ را ﻗﺒﻮل ﻣﯿﮑﻨﺪ.
)oct(x
VARIABLES Part 8 Data type conversation
ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮاﻧﯿﻢ ﺑﻌﻀﺎ ﺗﻮاﺑﻊ را در ﺑﺮﺧﯽ ﺗﻮاﺑﻊ دﯾﮕﺮ ﺑﻪ ﮐﺎر ﮔﯿﺮﯾﻢ .ﻣﺜﻼ ﺗﺎﺑﻊ floatدر print •
INPUT FUNCTION
از ﺗﺎﺑﻊ inputﺑﺮای ﮔﺮﻓﺘﻦ ورودی اﻃﻼﻋﺎت از ﮐﺎرﺑﺮ در ﻣﺤﯿﻂ ﮐﻨﺴﻮل CMD/Terminalاﺳﺘﻔﺎده ﻣﯿﺸﻮد. •
ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض ﻣﯿﺘﻮاﻧﺪ ﯾﮏ ورودی رﺷﺘﻪ ای stringداﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﯾﮏ ﭘﯿﺎم ﺑﺮای ﮐﺎرﺑﺮ و ﮔﺮﻓﺘﻦ ورودی اﺳﺖ. •
ﻧﻮع داده اﯾﻦ ﺗﺎﺑﻊ ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض رﺷﺘﻪ ای اﺳﺖ .ﭘﺲ اﮔﺮ ﻗﺼﺪ ﮔﺮﻓﺘﻦ ﻋﺪد از ﮐﺎرﺑﺮ را دارﯾﺪ ﺣﺘﻤﺎ ﻣﯿﺒﺎﯾﺴﺖ ﻧﻮع آن را ﺗﺒﺪﯾﻞ ﺑﻪ •
ﯾﮑﯽ از اﻧﻮاع numericﮐﻨﯿﺪ .در ﻏﯿﺮ اﯾﻨﺼﻮرت اﮔﺮ ﻧﯿﺎز ﺑﻪ ﭘﺮدازش و ﻣﺤﺎﺳﺒﻪ آن ﻋﺪد داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺑﺎ ﻣﺸﮑﻞ ﻣﻮاﺟﻪ ﺧﻮاﻫﯿﻢ ﺷﺪ.
PRINT PARAMETERS
دارای ﭼﻨﺪ ﭘﺎراﻣﺘﺮ )ورودی اﺟﺒﺎری ﯾﺎ ﻏﯿﺮ اﺟﺒﺎری( ﺑﺮای ﻧﺤﻮه ﻧﻤﺎﯾﺶ ﻣﯿﺒﺎﺷﺪprint ﺗﺎﺑﻊ •
Parameters Description
You can end a print statement with any character/string using this
end
parameter.
The separator between the arguments to print() function in Python is space by
sep default (softspace feature) , which can be modified and can be made to any
character, integer or string as per our choice
Escape ﺑﻪ اﯾﻦ ﮐﺎراﮐﺘﺮ ﻫﺎ.ﻣﯽ ﺗﻮاﻧﯿﺪ از ﯾﮏ ﯾﺎ ﭼﻨﺪ ﮐﺎراﮐﺘﺮ وﯾﮋه در رﺷﺘﻪ ﺑﺮای ﻗﺎﻟﺐ ﺑﻨﺪی ﯾﺎ اﺟﺮای ﯾﮏ دﺳﺘﻮر اﺳﺘﻔﺎده ﮐﻨﯿﺪ •
formatted string literalsﯾﮑﯽ از روش ﻫﺎی ﻗﺎﻟﺐ ﺑﻨﺪی ﺧﺮوﺟﯽ ﻣﺘﻦ در ﺗﺎﺑﻊ printاﺳﺖ ﮐﻪ ﺑﺎ ﻋﻼﻣﺖ fﻗﺒﻞ از ﻣﺤﺘﻮا ﺗﻌﺮﯾﻒ ﻣﯿﺸﻮد و اﺟﺎزه ﻣﯿﺪه •
ﻣﻘﺎدﯾﺮ ﻣﺘﻐﯿﯿﺮ ﻫﺎی دﯾﮕﺮ را ﺑﯿﻦ ﻫﻤﺎن رﺷﺘﻪ از ﻃﺮﯾﻖ ﺻﺪا زدن ﻧﺎم ﻣﺘﻐﯿﯿﺮ ﻣﺎﺑﯿﻦ ﻋﻼﻣﺖ }{ Bracketﻧﻤﺎﯾﺶ دﻫﯿﻢ.
OPERATORS Part 1
ﻋﻤﻠﮕﺮﻫﺎ ) (operatorsﺳﺎزه ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﯽ ﺗﻮاﻧﻨﺪ ﻣﻘﺪار ﻋﻤﻠﻮﻧﺪﻫﺎ )) (operandsﻣﻘﺎدﯾﺮی ﮐﻪ روی آن ﻫﺎ ﻋﻤﻠﯿﺎت اﻧﺠﺎم •
ﻋﺒﺎرت 3 + 6 = 9را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ .در اﯾﻨﺠﺎ 3و 6ﻋﻤﻠﻮﻧﺪ و +ﻋﻤﻠﮕﺮ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮﻧﺪ. •
ﺧﺮوﺟﯽ ﻣﺤﺎﺳﺒﺎﺗﯽ ﮐﻪ ﺷﺎﻣﻞ ﺑﯿﺶ از ﯾﮏ ﻋﻤﻠﮕﺮ ﻫﺴﺘﻨﺪ ﺣﺘﻤﺎ ﻧﻮع داده آن floatﺧﻮاﻫﺪ ﺑﻮد. •
OPERATORS Part 4 Comparison (Relational) Operators
. ﺑﻪ آﻧﻬﺎ ﻋﻤﻠﮕﺮﻫﺎی راﺑﻄﻪ ای ﻧﯿﺰ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد.اﯾﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻣﻘﺎدﯾﺮ دو ﻃﺮف آﻧﻬﺎ را ﻣﻘﺎﯾﺴﻪ ﮐﺮده و راﺑﻄﻪ ﺑﯿﻦ آﻧﻬﺎ را ﺗﻌﯿﯿﻦ ﻣﯽ ﮐﻨﻨﺪ •
If values of two operands are not equal, then (a <> b) is true. This is similar to !=
<> condition becomes true. operator
If the value of left operand is greater than the
> value of right operand, then condition becomes (a > b) is not true >>> False
true.
If the value of left operand is less than the value
< of right operand, then condition becomes true.
(a < b) is true >>> True
در ﺻﻮرت ﺗﮑﺮار ﻧﺎم ﻣﺘﻐﯿﺮ و اﺳﺘﻔﺎده ﻣﺠﺪد از آن ﻫﻤﯿﺸﻪ ﻣﻘﺪار آن ﺑﺮاﺑﺮ آﺧﺮﯾﻦ ﻣﻘﺪار ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ •
OPERATORS Part 8 Logical Operators
not Logical NOT Used to reverse the logical state of its operand. Not(a and b) is false.
OPERATORS Part 9 Membership Operators
( ﭘﺮداﺧﺘﻪ ﻣﯿﺸﻮدsequences) در ﺑﺨﺶ ﻫﺎی ﺟﻠﻮﺗﺮ ﺑﻪ ﻣﺒﺎﺣﺚ اﻧﻮاع داده دﻧﺒﺎﻟﻪ دار
OPERATORS Part 10 Identify Operators
. ﻣﮑﺎن ﻫﺎی ﺣﺎﻓﻈﻪ دو ﺷﺊ )ﺷﺎﻣﻞ ﻣﺘﻐﯿﯿﺮ ﻧﯿﺰ ﻣﯿﺸﻮد( را ﺑﺎ ﻫﻢ ﻣﻘﺎﯾﺴﻪ ﻣﯽ ﮐﻨﻨﺪ،ﺷﻨﺎﺳﺎﯾﯽ/ﻋﻤﻠﮕﺮﻫﺎی ﻫﻮﯾﺖ •
. ﻣﯿﺘﻮان اﺳﺘﻔﺎده ﮐﺮدid از ﺗﺎﺑﻊRAM ﻣﺘﻐﯿﯿﺮ در ﺣﺎﻓﻈﻪ/ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن ﻣﮑﺎن ﺷﺊ •
. ﻣﺮاﺟﻌﻪ ﻣﯿﮑﻨﺪ ﺳﺮﻋﺖ ﺑﯿﺸﺘﺮی داردRAM ﮔﺎﻫﺎ ﻣﯿﺘﻮان ﺑﻪ ﺟﺎی ﻋﻤﻠﮕﺮ ﻣﻘﺎﯾﺴﻪ ای == ﯾﺎ =! اﺳﺘﻔﺎده ﺷﻮد و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﻣﺴﺘﻘﯿﻢ ﺑﻪ •
ﮔﺎﻫﯽ ﻣﺎ در ﺑﺮﻧﺎﻣﻪ ﻣﺎن ﻧﯿﺎز دارﯾﻢ ﺷﺮاﯾﻂ را ﺑﺮرﺳﯽ ﮐﻨﯿﻢ و ﻣﻄﺎﺑﻖ آن ﺗﺼﻤﯿﻢ ﮔﯿﺮی ﮐﻨﯿﻢ ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻣﯿﺨﻮاﻫﺪ ﭼﻪ ﮐﺎری اﻧﺠﺎم دﻫﺪ. •
ﻣﺜﺎل: •
üﺣﺎﻻ ﺗﺼﻤﯿﻢ ﮔﯿﺮی ﻣﯿﮑﻨﯿﻢ ﮐﻪ اﮔﺮ ﮐﻮﭼﮑﺘﺮ ﺑﻮد ﯾﺎ اﮔﺮ ﻧﺘﯿﺠﻪ Trueﺑﻮد )ﺷﺮط( ﭘﯿﺎم ﺑﺪه و ﺑﮕﻮ ﮐﻮﭼﮑﺘﺮ اﺳﺖ )ﺗﺼﻤﯿﻢ ﮔﯿﺮی(
در ﻏﯿﺮ اﯾﻨﺼﻮرت )ﯾﻌﻨﯽ ﺧﻼف ﺷﺮط ﺑﺎﻻ( ﯾﺎ اﯾﻨﮑﻪ Falseﺑﻮد ﭘﯿﺎم ﺑﺪه ﺑﮕﻮ ﺑﺰرﮔﺘﺮ اﺳﺖ! ü
üﺗﻤﺎم.
ﺷﺮوع ﺑﺮﻧﺎﻣﻪ
ﺳﺎﺧﺘﺎر ﺑﺮرﺳﯽ ﺷﺮط و ﺗﺼﻤﯿﻢ ﮔﯿﺮی در ﺗﻤﺎم زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺑﻪ ﺷﮑﻞ ﻣﻘﺎﺑﻞ اﺳﺖ: •
ﺳﺎﺧﺘﺎرﻫﺎی ﺷﺮط و ﺗﺼﻤﯿﻢ ﮔﯿﺮی ،ﺷﺮاﯾﻂ ﻣﺘﻌﺪدی را ارزﯾﺎﺑﯽ ﻣﯽ ﮐﻨﻨﺪ و ﺑﻪ ﻋﻨﻮان ﻧﺘﯿﺠﻪ TRUE ،ﯾﺎ FALSEاﯾﺠﺎد ﻣﯽ ﮐﻨﻨﺪ. •
ﺑﺮرﺳﯽ ﺷﺮط condition ﺷﻤﺎ ﺑﺎﯾﺪ ﺗﻌﯿﯿﻦ ﮐﻨﯿﺪ ﮐﻪ در ﺻﻮرت درﺳﺖ ﯾﺎ ﻧﺎدرﺳﺖ ﺑﻮدن ﻧﺘﯿﺠﻪ ،ﮐﺪام ﮐﺎر/ﻋﻤﻠﯿﺎت را اﻧﺠﺎم دﻫﺪ. •
ﻋﻤﻠﮕﺮ ﻫﺎی راﺑﻄﻪ ای/ﻣﻘﺎﯾﺴﻪ ای ) (Comparisonﻧﯿﺰ ﻧﻮﻋﯽ و ﺑﺨﺸﯽ از ﺳﺎﺧﺘﺎر ﺷﺮط ﻫﺎ ﻫﺴﺘﻨﺪ! •
اﺷﮑﺎل اﺳﺘﻔﺎده در ﻣﺜﺎل ﺑﺎﻻ را ﻓﻠﻮﭼﺎرت ﻣﯿﮕﻮﯾﻨﺪ و ﯾﮏ روش ﺗﺮﺳﯿﻢ اﻟﮕﻮرﯾﺘﻢ اﺳﺖ
ﭘﺎﯾﺎن
statements ﻋﺒﺎرات ﺷﺮﻃﯽ DECISION AND CONDITIONS ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ Part 3
:ﺟﻬﺖ ﺑﺮرﺳﯽ ﺷﺮط ﻫﺎ در ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﮐﻪ ﺑﻪ زﺑﺎن ﭘﺎﯾﺘﻮن ﻧﻮﺷﺘﻪ ﻣﯿﺸﻮﻧﺪ ﺑﺎﯾﺪ ﻋﺒﺎرات زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﻢ •
.( و رزرو ﺷﺪه در ﭘﺎﯾﺘﻮن ﻫﺴﺘﻨﺪkeywords) اﯾﻦ ﻋﺒﺎرات ﺑﺨﺸﯽ از ﮐﻠﻤﺎت ﮐﻠﯿﺪی •
statements Description
The elif keyword is using for: if the previous conditions were not true, then try this
elif condition.
else The else keyword catches anything which isn't caught by the preceding conditions.
ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ DECISION AND CONDITIONS Part 4
ﺟﻬﺖ ﺑﺮرﺳﯽ ﺷﺮاﯾﻂ در ﺑﺮﻧﺎﻣﻪ ﻧﯿﺎز ﺑﻪ ﻧﻮﺷﺘﻦ ﻋﺒﺎرت ﺷﺮﻃﯽ و رﻋﺎﯾﺖ ﺗﻮ رﻓﺘﮕﯽ دارﯾﻢ. •
در ﺧﻂ اول ﺑﺮرﺳﯽ ﺷﺮط اﺑﺘﺪا ﻋﺒﺎرت ﺷﺮﻃﯽ را ﻣﯿﻨﻮﯾﺴﯿﻢ و ﺷﺮاﯾﻂ را ﺑﺮرﺳﯽ ﻣﯿﮑﻨﯿﻢ و آﺧﺮ آن ﻣﯿﺒﺎﯾﺴﺖ ﻋﻼﻣﺖ ) (:ﻗﺮار دﻫﯿﻢ. •
ﺳﭙﺲ ﻋﻤﻠﯿﺎت ﻫﺎ ﺑﻌﺪ از ﺻﺤﯿﺢ ﺑﻮدن ﺷﺮط را زﯾﺮ آن و ﺑﻌﺪ از ﯾﮏ ﻓﺎﺻﻠﻪ tabﻣﯿﻨﻮﯾﺴﯿﻢ. •
در اﯾﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرت ifو ﻋﻤﻠﮕﺮ ﻫﺎی ﻣﻘﺎﯾﺴﻪ ای ﮔﻔﺘﯿﻢ اﮔﺮ xﮐﻮﭼﮑﺘﺮ yﺑﻮد )ﺷﺮط Trueﺑﻮد( ﭼﺎپ ﮐﻦ Yeesss, x < y •
در ﻋﺒﺎرت ﺷﺮﻃﯽ از ﻋﻤﻠﮕﺮﻫﺎی ﻣﻘﺎﯾﺴﻪ ای و ﻣﻨﻄﻘﯽ و ﺷﻨﺎﺳﺎﯾﯽ و ﻋﻀﻮﯾﺖ و ﺣﺴﺎﺑﯽ اﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ. •
ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ DECISION AND CONDITIONS Part 5
ﻋﺒﺎرت ﺷﺮﻃﯽ elif
اﯾﻦ ﻋﺒﺎرت ﺑﺮای ﺑﺮرﺳﯽ درﺳﺖ ﻧﺒﻮدن ﺷﺮط ﻗﺒﻠﯽ )ﺷﺮﻃﯽ ﮐﻪ دﻗﯿﻘﺎ ﻗﺒﻞ ﺧﻮدش ﺗﻌﺮﯾﻒ ﺷﺪه ﺑﺎﺷﺪ( اﺳﺘﻔﺎده ﻣﯿﺸﻮد. •
ﺑﻪ ﺷﮑﻞ ﺧﯿﻠﯽ ﺳﺎده وﻇﯿﻔﻪ اش اﯾﻦ اﺳﺖ ﮐﻪ اﮔﺮ ﺷﺮط ﻗﺒﻠﯽ درﺳﺖ ﻧﺒﻮد/ﺑﺮﻗﺮار ﻧﺒﻮد False/ﺑﻮد ﻋﻤﻠﯿﺎت ﺗﻌﺮﯾﻒ ﺷﺪه داﺧﻞ ﺧﻮدش را اﻧﺠﺎم •
ﻣﯿﺪﻫﺪ.
در ﺻﻮرﺗﯽ ﮐﻪ ﻫﯿﭻ ﮐﺪام از ﺷﺮط ﻫﺎی ﻗﺒﻞ ﺧﻮدش ﺑﺮ ﻗﺮار ﻧﺒﺎﺷﺪ ﻋﻤﻠﯿﺎت ﺗﻌﺮﯾﻒ ﺷﺪه درون ﺧﻮدش را اﻧﺠﺎم ﻣﯿﺪﻫﺪ. •
ﺑﺮ ﺧﻼف ifو elifﻧﯿﺎز ﺑﻪ ﺗﻌﺮﯾﻒ ﺷﺮط ﻧﺪارد و ﺧﻮدش ﺷﺮط ﻫﺎی ﻗﺒﻠﺶ را ﺑﺮرﺳﯽ ﻣﯿﮑﻨﺪ. •
(2در ﺷﺮط ﭘﺎﯾﻪ ﺑﺮرﺳﯽ ﻣﯿﺸﻮد آﯾﺎ aﺑﺰرﮔﺘﺮ از bاﺳﺖ؟ ﭼﻮن اﯾﻦ ﺷﺮط ﺑﺮﻗﺮار True/ﻧﯿﺴﺖ ﺑﻪ ﻣﺮﺣﻠﻪ ﺑﻌﺪ ﻣﯿﺮود.
(3ﺳﭙﺲ ﺑﺮرﺳﯽ ﻣﯿﺸﻮد آﯾﺎ bاز aﺑﺰرﮔﺘﺮ اﺳﺖ؟ اﯾﻦ ﺷﺮط ﻧﯿﺰ ﻧﻘﺾ ﻣﯿﺸﻮد.False/
(4ﭼﻮن ﻫﯿﭻ ﮐﺪام از دو ﺷﺮط ﺗﻌﺮﯾﻒ ﺷﺪه ﺑﺮﻗﺮار ﻧﯿﺴﺘﻨﺪ ﭘﺲ ﺗﺎﺑﻊ printدرون elseاﺟﺮا ﻣﯿﺸﻮد.
ﭘﺮوژه ﻣﺎﺷﯿﻦ ﺣﺴﺎب در ﻣﺤﯿﻂ CMD/SHELL/TERMINAL
ﺣﺎل ﮐﻪ ﺑﺎ ﻋﻤﻠﮕﺮﻫﺎ و ﻋﺒﺎرات ﺷﺮﻃﯽ آﺷﻨﺎ ﺷﺪﯾﻢ ﺑﻪ راﺣﺘﯽ ﻣﯿﺘﻮاﻧﯿﻢ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﯾﮏ ﻣﺎﺷﯿﻦ ﺣﺴﺎب ﺳﺎده را ﺑﻨﻮﯾﺴﯿﻢ. •
(5ﻋﻤﻠﮕﺮ ﺣﺴﺎﺑﯽ را ﺑﺮرﺳﯽ ﮐﻨﯿﺪ ﮐﻪ ﭼﻪ اﺳﺖ ﺳﭙﺲ ﻣﻄﺎﺑﻖ آن ﻋﻤﻠﯿﺎت ﺣﺴﺎب را اﻧﺠﺎم دﻫﯿﺪ
ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ DECISION AND CONDITIONS Part 7
ﻋﻤﻠﮕﺮﻫﺎی ﻣﻨﻄﻘﯽ در ﻋﺒﺎرات ﺷﺮﻃﯽ Logical operators in conditions
در ﻧﻮﺷﺘﻦ ﺷﺮط ﻫﺎ ﻣﯿﺘﻮاﻧﯿﻢ از ﻋﻤﻠﮕﺮﻫﺎی ﻣﻘﺎﯾﺴﻪ ای و ﻣﻨﻄﻘﯽ و ﺷﻨﺎﺳﺎﯾﯽ و ﻋﻀﻮﯾﺖ اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮﻫﺎی ﻣﻨﻄﻘﯽ ﻣﯿﺘﻮان ﻫﻤﺰﻣﺎن ﭼﻨﺪ ﺷﺮط را ﺑﺮرﺳﯽ ﮐﺮد. •
ﻣﺜﺎل اول ﺑﺮﻧﺎﻣﻪ ﺑﺮرﺳﯽ ﻣﯿﮑﻨﺪ ﮐﻪ اﮔﺮ ﺷﺮط اول Trueﺑﻮد ﺳﭙﺲ ﺷﺮط دوم ﻧﯿﺰ Trueﺑﻮد آﻧﮕﺎه ﻋﻤﻠﯿﺎت ﻣﺪ ﻧﻈﺮ را اﻧﺠﺎم ﻣﯿﺪﻫﺪ. •
ﻣﺜﺎل دوم ﺑﺮﻧﺎﻣﻪ ﺗﻨﻬﺎ اﮔﺮ ﯾﮑﯽ از ﺷﺮط ﻫﺎ Trueﺑﺎﺷﺪ ﻋﻤﻠﯿﺎت ﺗﻌﺮﯾﻒ ﺷﺪه را اﻧﺠﺎم ﻣﯿﺪﻫﺪ. •
در ﺻﻮرﺗﯽ ﮐﻪ ﻓﻘﻂ ﯾﮏ ﺷﺮط و ﯾﮏ دﺳﺘﻮر ﺑﺮای اﺟﺮا دارﯾﻢ ﻣﯿﺘﻮاﻧﯿﻢ آن را در ﯾﮏ ﺧﻂ ﺑﻨﻮﯾﺴﯿﻢ. •
ﻣﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﻋﺒﺎرات ﺷﺮﻃﯽ را درون دﺳﺘﻮرات ﯾﮏ ﺷﺮط دﯾﮕﺮ اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
ﻫﺮ ﻋﺒﺎرت ﺷﺮﻃﯽ دارای ﺑﺨﺶ ﺷﺮوع و اﻧﺘﻬﺎ اﺳﺖ ﮐﻪ ﺑﻪ آن Blockﻣﯿﮕﻮﯾﯿﻢ. •
ﻋﺪم رﻋﺎﯾﺖ و درک ﺑﻼک ﻫﺎی در دﺳﺘﻮرات ﺷﺮﻃﯽ ﺑﺎﻋﺚ ﻣﯿﺸﻮد ﺷﺮط ﻫﺎی ﺑﻪ ﺧﻮﺑﯽ ﺑﺮرﺳﯽ ﻧﺸﻮد و ﮔﺎﻫﺎ ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﺧﻄﺎ ﻣﻮاﺟﻪ ﺷﻮد. •
در آﺧﺮ ﺑﻼک ﻫﺮ ﺷﺮط ﻋﻤﻠﯿﺎت آن ﺷﺮط ﻣﺘﻮﻗﻒ ﻣﯿﺸﻮد ﺑﻨﺎﺑﺮاﯾﻦ ﮔﺎﻫﺎ ﻧﯿﺎز دارﯾﻢ ﺷﺮط ﻫﺎی ﺗﻮ در ﺗﻮ و واﺑﺴﺘﻪ ﺑﻪ ﺷﺮط ﻫﺎی دﯾﮕﺮ را ﺑﻨﻮﯾﺴﯿﻢ •
ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ DECISION AND CONDITIONS Part 10
ﻋﺒﺎرات ﺷﺮﻃﯽ ﺗﻮ در ﺗﻮ Nested conditions statements
(5ﺧﺐ ﻃﺒﯿﻌﺘﺎ وﻗﺘﯽ ﮐﻪ در ﺷﺮط اول ﺑﺮاﺑﺮ ۱۰ﺑﻮد و ﺷﺮط Trueﺷﺪ ﻗﻄﻌﺎ از ۱۵ﻧﯿﺰ ﮐﻮﭼﮑﺘﺮ اﺳﺖ!
ﺗﺼﻤﯿﻢ ﮔﯿﺮی و ﺷﺮط ﻫﺎ DECISION AND CONDITIONS Part 11
ﻋﺒﺎرات ﺷﺮﻃﯽ ﺗﻮ در ﺗﻮ Nested conditions statements
ﺑﯿﺎﯾﺪ ﭘﺮوژه ﺑﺮﻧﺎﻣﻪ ﻣﺎﺷﯿﻦ ﺣﺴﺎب را ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرات ﺷﺮﻃﯽ ﺗﻮ در ﺗﻮ ﮐﻤﯽ ﺗﮑﻤﯿﻞ ﺗﺮ ﮐﻨﯿﻢ. •
(4در ﺻﻮرت ﺧﺎﻟﯽ ﻧﺒﻮدن ﻣﻘﺪار ﻋﻤﻠﮕﺮ ﺑﻘﯿﻪ ﻋﻤﻠﯿﺎت ﺣﺴﺎب اﻧﺠﺎم ﺷﻮد!
üدر ﺑﺨﺶ ﻫﺎی ﺑﻌﺪی ﺧﺎﻟﯽ ﻧﺒﻮدن ﻣﻘﺪار ﺧﻮد ﻋﻤﻠﻮﻧﺪ ﻫﺎ ﻧﯿﺰ ﭼﮏ ﻣﯿﮑﻨﯿﻢ و ﭘﺮوژه را ﮐﺎﻣﻞ ﺗﺮ ﻣﯿﮑﻨﯿﻢ.
ﭘﺮوژه ﺑﺮرﺳﯽ دﻣﺎ در ﻣﺤﯿﻂ CMD/SHELL/TERMINAL
ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮ ﻫﺎ و ﻋﺒﺎرات ﺷﺮﻃﯽ ﻣﯿﺘﻮاﻧﯿﻢ ﺧﯿﻠﯽ ﺳﺎده دﻣﺎی ﻫﻮا را ﺑﺮرﺳﯽ ﮐﻨﯿﻢ •
(3اﮔﺮ ﺧﺎﻟﯽ وارد ﮐﺮده ﺑﻮد ﺧﻄﺎ ﺑﺪﻫﺪ و ﺑﮕﻮﯾﯿﺪ ﻟﻄﻔﺎ ﻣﻘﺪار را ﺑﺮ اﺳﺎس درﺟﻪ وارد ﮐﻨﯿﺪ.
(4در ﺻﻮرت ﻋﺪم ﺧﺎﻟﯽ ﻧﺒﻮدن ورودی ﺣﺎﻻ ﭼﮏ ﮐﻨﺪ وﺿﻌﯿﺖ ﮐﯿﻔﯽ ﻫﻮا را.
ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 1
ﯾﮑﯽ از اﺟﺰای ﭘﺎﯾﻪ در اﮐﺜﺮ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اﺳﺖ. •
ﺑﺮای ﺗﮑﺮار ﯾﮏ ﺳﺮی ﻋﻤﻠﯿﺎت ﺗﻌﺮﯾﻒ ﺷﺪه ﺗﻮﺳﻂ ﺑﺮﻧﻤﻪ ﻧﻮﯾﺲ اﺳﺘﻔﺎده ﻣﯿﺸﻮد. •
در ﻧﻮع ﻧﺎ ﻣﻌﯿﯿﻦ ) (whileﮐﺎر ﻫﺎ ﺗﮑﺮار ﻣﯿﺸﻮﻧﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺷﺮط آن Falseﺷﻮد. •
در ﻧﻮع ﻣﻌﯿﯿﻦ ) (forﮐﺎر ﻫﺎی ﺑﺮ اﺳﺎس ﺗﻌﺪادی ﮐﻪ ﻣﺎ ﺗﻌﺮﯾﻒ ﮐﺮده اﯾﻢ ﺗﮑﺮار ﻣﯿﺸﻮد. •
while loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 2
ﺣﻠﻘﻪ whileﺑﺮای اﺟﺮای ﻣﮑﺮر ﯾﮏ ﺑﻠﻮک از دﺳﺘﻮرات ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﯾﮏ ﺷﺮط داده ﺷﺪه ﺑﺮآورده ﺷﻮد ،اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. •
وﻗﺘﯽ ﺷﺮط Falseﺷﺪ ﺑﻼﻓﺎﺻﻠﻪ ﺧﻄﻮط ﺑﻌﺪی ﺧﺎرج از ﺑﻼک ﺣﻠﻘﻪ در ﺑﺮﻧﺎﻣﻪ اﺟﺮا ﻣﯽ ﺷﻮد. •
(2ﺷﺮط ﺗﮑﺮار ﺣﻠﻘﻪ را ﺑﺎ ﯾﮏ ﻓﺎﺻﻠﻪ ﺑﻌﺪ از whileﻣﯿﻨﻮﯾﺴﯿﻢ و در اﻧﺘﻬﺎی ﺷﺮط ﻣﯿﺒﺎﺳﺖ ﻋﻼﻣﺖ دو ﻧﻘﻄﻪ ) (:ﻗﺮار دﻫﯿﻢ.
(3ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺷﺮط ﺑﺮﻗﺮار ﺑﺎﺷﺪ ﻋﻤﻠﯿﺎت/ﮐﺎرﻫﺎ /دﺳﺘﻮرات داﺧﻞ ﺣﻠﻘﻪ اﺟﺮا ﻣﯿﺸﻮد.
(2ﺳﭙﺲ در ﺷﺮط ﺣﻠﻘﻪ ﮔﻔﺘﻪ اﯾﻢ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ xاز 3ﮐﻮﭼﮑﺘﺮ اﺳﺖ ﻋﻤﻠﯿﺎت زﯾﺮ را اﻧﺠﺎم ﺑﺪه:
(3در ﻫﺮ ﻣﺮﺣﻠﻪ 1واﺣﺪ ﺑﻪ Xاﺿﺎﻓﻪ ﻣﯿﺸﻮد) .ﺑﻪ اﯾﻦ ﻧﻮع ﻋﻤﻠﯿﺎت / counterﺷﻤﺎرﻧﺪه ﻣﯿﮕﻮﯾﻨﺪ(
ﺣﺎﻻ ﺑﺮﻧﺎﻣﻪ ﻣﻘﺎﺑﻞ را ﺑﻨﻮﯾﺴﯿﺪ و ﺧﺮوﺟﯽ را ﻣﺸﺎﻫﺪه ﮐﻨﯿﺪ و دﻻﯾﻞ آن را ﺷﺮح دﻫﯿﺪ. •
ﻣﺸﺎﺑﻪ ﻋﺒﺎرات ﺷﺮﻃﯽ ﮐﻮﺗﺎه ﻣﯿﺘﻮان از ﺣﻠﻘﻪ ﺗﮑﺮار ﻧﺎﻣﻌﯿﯿﻦ ﻧﯿﺰ ﺑﻪ ﺻﻮرت ﮐﻮﺗﺎه اﺳﺘﻔﺎده ﮐﺮد. •
ﭘﯿﺸﻨﻬﺎد ﻣﯽ ﺷﻮد از اﯾﻦ ﻧﻮع ﺣﻠﻘﻪ ﻫﺎ اﺳﺘﻔﺎده ﻧﮑﻨﯿﺪ زﯾﺮا اﯾﻦ ﯾﮏ ﺣﻠﻘﻪ ﺑﯽ ﻧﻬﺎﯾﺖ ﺑﯽ ﭘﺎﯾﺎن اﺳﺖ ﮐﻪ در آن ﺷﺮط ﻫﻤﯿﺸﻪ درﺳﺖ اﺳﺖ و ﺑﺎﯾﺪ •
در ﺻﻮرﺗﯽ ﮐﻪ ﺷﺮط ﺣﻠﻘﻪ Falseﺷﻮد دﺳﺘﻮرات داﺧﻞ ﺑﻼک elseاﺟﺮا ﻣﯿﺸﻮد. •
ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 6
(1ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﮐﺎرﺑﺮ ﺧﺎﻟﯽ وارد ﮐﻨﺪ داﺋﻤﺎ ﻣﻘﺪار دﻣﺎ را از او ﺑﺨﻮاﻫﺪ و از ﺑﺮﻧﺎﻣﻪ ﺧﺎرج ﻧﺸﻮد.
(2اﮔﺮ ﻣﻘﺪار ورودی ﺧﺎﻟﯽ ﻧﺒﻮد ﻣﻘﺪار درﯾﺎﻓﺖ ﺷﺪه را ﺗﺒﺪﯾﻞ ﺑﻪ ﻧﻮع ﻋﺪدی ﮐﻨﺪ.
ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ whileاﻋﺪاد زوج و ﻓﺮد ﺑﯿﻦ ۰ﺗﺎ ۱۰۰را ﭘﯿﺪا ﮐﻨﯿﻢ: •
(2ﺳﭙﺲ درون ﺣﻠﻘﻪ ﺷﺮﻃﯽ ﻣﯿﻨﻮﯾﺴﻢ ﻫﺮ ﺑﺎر ﭼﮏ ﮐﻨﺪ آﯾﺎ ﻋﺪد زﻣﺎﻧﯽ ﮐﻪ ﺑﺮ ۲ﺗﻘﺴﯿﻢ ﺷﻮد ﺑﺎﻗﯽ ﻣﺎﻧﺪه ۰ﻣﯿﺸﻮد؟ )ﺷﺮط ﺑﺮرﺳﯽ اﻋﺪاد زوج(
ﺗﺸﺨﯿﺺ اﻋﺪاد زوج در ﺑﺎزه ۰ﺗﺎ ۱۰۰ ﺗﺸﺨﯿﺺ اﻋﺪاد ﻓﺮد در ﺑﺎزه ۰ﺗﺎ ۱۰۰
ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 8
(2ﺳﭙﺲ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﺑﺮای ﻧﮕﻪ داری ﺗﻌﺪاد دﻓﻌﺎت اﺷﺘﺒﺎه ﺑﺎ ﻣﻘﺪار ۰ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ.
(4در ﺻﻮرﺗﯽ ﮐﻪ اﺷﺘﺒﺎه وارد ﮐﺮد اﺑﺘﺪا ﺑﻪ اون ﺧﻄﺎ ﺑﺪﻫﺪ و ﻣﺘﻐﯿﯿﺮ ﺗﻌﺪاد اﺷﺘﺒﺎه را ۱واﺣﺪ اﺿﺎﻓﻪ ﮐﻨﺪ.
(5ﺳﭙﺲ ﺑﺮرﺳﯽ ﺷﻮد ﮐﻪ ﺗﻌﺪاد اﺷﺘﺒﺎه ﺑﻪ ۳رﺳﯿﺪه اﺳﺖ ﯾﺎ ﺧﯿﺮ در ﺻﻮرﺗﯽ ﮐﻪ اﯾﻦ ﺷﺮط Trueﺑﺎﺷﺪ ﺧﻄﺎ ﺑﺪﻫﺪ و ﺑﺮﻧﺎﻣﻪ ﺑﺴﺘﻪ ﺷﻮد.
ﺟﻬﺖ اﺳﺘﻔﺎده از اﯾﻦ ﻧﻮع ﺣﻠﻘﻪ از ﮐﻠﻤﻪ ﮐﻠﯿﺪی forو inاﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ. •
در ﺻﻮرﺗﯽ ﮐﻪ ﻣﺪ ﻧﻈﺮ داﺷﺘﻪ دﺳﺘﻮرات را ﺑﻪ ﺗﻌﺪاد ﻣﺤﺪودی اﺟﺮا ﮐﻨﯿﻢ از ﺣﻠﻘﻪ forاﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ. •
ﺑﺮ ﺧﻼف whileﮐﻪ زﻣﺎﻧﯽ ﺷﺮط Trueﺑﺎﺷﺪ ﻋﻤﻠﯿﺎت را ﺗﮑﺮار ﻣﯿﮑﻨﺪ. •
ﺑﻪ ﺟﺰ ﺗﻌﺪاد ﺗﮑﺮار ﻣﯿﺘﻮاﻧﯿﻢ در ﻋﺒﺎرات دﻧﺒﺎﻟﻪ دار) (String,List,Tuple,etcﭼﺮﺧﺶ ﺑﺰﻧﯿﻢ. •
در ﺣﻠﻘﻪ forﻧﯿﺎز دارﯾﻢ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﭘﺎﯾﻪ و ﺳﭙﺲ ﺑﺮ اﺳﺎس ﭼﯿﺰی ﮐﻪ ﻗﺼﺪ دارﯾﻢ ﺣﻠﻘﻪ ﺑﺰﻧﯿﻢ ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ. •
The range() Function in For loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 10
اﯾﻦ ﺗﺎﺑﻊ دﻧﺒﺎﻟﻪ ای از اﻋﺪاد را در ﺑﺮ ﻣﯿﮕﯿﺮﯾﺪ و ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض از ۰ﺷﺮوع ﻣﯿﺸﻮد. •
ﺑﻪ ﮐﻤﮏ اﯾﻦ ﺗﺎﺑﻊ ﻣﯿﺘﻮاﻧﯿﻢ ﺑﮕﻮﯾﯿﻢ ﮐﻪ ﺣﻠﻘﻪ ﻣﺎ در ﭼﻪ ﺑﺎزه ﯾﺎ داﻣﻨﻪ از اﻋﺪاد ﮐﺎر ﮐﻨﺪ. •
در ﻣﺜﺎل ﻣﻘﺎﺑﻞ اﻋﺪاد ﺑﯿﻦ ۰ﺗﺎ ۱۰۰را ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ forو ﺗﺎﺑﻊ rangeﻧﻤﺎﯾﺶ ﻣﯿﺪﻫﯿﻢ. •
در ﺻﻮرﺗﯽ دو آرﮔﻮﻣﺎن ﺑﻪ ﺗﺎﺑﻊ rangeﺑﺪﻫﯿﻢ اﯾﻦ ﺗﺎﺑﻊ ﺑﺎزه را ﺑﯿﻦ دو ﻋﺪدی ﮐﻪ ﺗﻌﺮﯾﻒ ﮐﺮدﯾﻢ در ﻧﻈﺮ ﻣﯿﮕﯿﺮﯾﺪ. •
ﺗﺎﺑﻊ rangeﻣﯿﺘﻮاﻧﺪ ﺳﻪ آرﮔﻮﻣﺎن ﻧﯿﺰ داﺷﺘﻪ ﺑﺎﺷﺪ .آرﮔﻮﻣﺎن اول و دوم ﺑﺎزه ﻫﺴﺘﻨﺪ و آرﮔﻮﻣﺎن ﺳﻮم ﺗﻌﺪاد ﭘﺮش اﺳﺖ .ﯾﻌﻨﯽ ﺑﯿﻦ ﺑﺎزه ﺗﻌﺮﯾﻒ •
اﻋﺪاد ﺑﯿﻦ ۵۰ﺗﺎ ۵۰۰ اﻋﺪاد ﺑﯿﻦ ۲ﺗﺎ ۳۰ﺑﺎ ﺟﻬﺶ ۳ﺗﺎﯾﯽ
for loops structure ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 11
ﻫﻤﺎﻧﻄﻮر ﮐﻪ در ﺑﺨﺶ ﻣﺘﻮﺟﻪ ﺷﺪﯾﺪ ﺑﺮای اﺳﺘﻔﺎده از اﯾﻦ ﻧﻮع ﺣﻠﻘﻪ ﻧﯿﺎز ﺑﻪ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﭘﺎﯾﻪ دارﯾﻢ و ﮐﻠﻤﻪ ﮐﻠﯿﺪی inﺳﭙﺲ در آن ﭼﯿﺰی ﮐﻪ •
در ﻫﺮ ﺑﺎر اﺟﺮا ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺪاد ﭼﺮﺧﺶ ﺣﻠﻘﻪ ﻫﺮ ﺑﺎر ﻣﻘﺪار ﻣﺘﻐﯿﯿﺮ ﭘﺎﯾﻪ ﺗﻐﯿﯿﺮ ﻣﯿﮑﻨﺪ و ﻫﻢ ﺑﻪ ﻋﻨﻮان ﺷﻤﺎرﻧﺪه ﻋﻤﻞ ﻣﯿﮑﻨﺪ ﻫﻢ ﻣﻘﺎدﯾﺮ ﺣﻠﻘﻪ •
for x in range(10):
)print(x در ﻫﺮ ﺑﺎر ﭼﺮﺧﺶ ﻣﻘﺪارش ﺑﺎ ﺗﻮﺣﻪ ﺑﻪ ﺗﻌﺪاد ﻣﺪ ﻧﻈﺮ ﻫﺮ ﺳﺮی ۱ +ﻣﯿﺸﻮد و ﭼﺎپ ﻣﯿﺸﻮد
else in for loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 12
ﺑﻠﮑﻪ ﻣﯿﺘﻮان در اﻧﺘﻬﺎی ﺣﻠﻘﻪ و ﭘﺲ از اﺟﺮای ﮐﺎﻣﻞ ﺣﻠﻘﻪ و اﺗﻤﺎم آن ﻣﯿﺘﻮان ﺑﺎ ﻋﺒﺎرت elseﺑﮕﻮﯾﯿﻢ ﭼﮑﺎری اﻧﺠﺎم دﻫﺪ. •
Control statement in loops LOOPS ﺣﻠﻘﻪ ﻫﺎ Part 13
ﻋﻤﻠﮑﺮد اﯾﻦ ﻋﺒﺎرت ﺑﻪ اﯾﻦ ﺷﮑﻞ اﺳﺖ ﮐﻪ ﺣﻠﻘﻪ را ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺷﺮاﯾﻄﯽ ﮐﻪ ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ ﻣﺘﻮﻗﻒ ﻣﯿﮑﻨﺪ. •
ﻣﺜﺎل: •
اﮔﺮ در ﻣﺘﻐﯿﯿﺮ nameﺣﺮف mرا ﭘﯿﺪا ﮐﺮدی ﻣﺘﻮﻗﻒ ﺷﻮ و ﺣﻠﻘﻪ اداﻣﻪ ﭘﯿﺪا ﻧﮑﻨﺪ. •
pass statement in loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 15
ﺑﺮ ﺧﻼف breakزﻣﺎﻧﯽ ﮐﻪ ﺷﺮط ﺧﺎﺻﯽ Trueﺷﻮد اداﻣﻪ ﻣﯿﺪﻫﺪ و دﺳﺘﻮرات ﺑﻌﺪی اﺟﺮا ﻣﯿﺸﻮد. •
Nested Loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 17
دﻗﯿﻘﺎ ﻣﺸﺎﺑﻪ ﺷﺮط ﻫﺎی ﺗﻮ در ﺗﻮ از ﺣﻠﻘﻪ ﻫﺎ ﻧﯿﺰ ﺑﻪ ﺷﮑﻞ ﺗﻮ در ﺗﻮ ﻣﯿﺘﻮان اﺳﺘﻔﺎده ﮐﺮد. •
زﻣﺎﻧﯽ ﮐﻪ ﻣﻘﺪار ﺷﻤﺎرﻧﺪه ﺣﻠﻘﻪ اول ۱ﻣﯿﺸﻮد ﺣﻠﻘﻪ زﯾﺮﯾﻦ ﺑﻪ ﺻﻮرت ﮐﺎﻣﻞ اﺟﺮا ﻣﯿﺸﻮد •
ﺳﭙﺲ دوﺑﺎره ﺑﺮ ﻣﯿﮕﺮدد ﺑﻪ ﺣﻠﻘﻪ ﺑﺎﻻﯾﯽ و ﻣﻘﺪار ﺑﺎﻻﯾﯽ ۲ﻣﯿﺸﻮد و ﻣﺠﺪدا ﺣﻠﻘﻪ زﯾﺮﯾﻦ ﯾﮑﺒﺎر دﯾﮕﺮ ﮐﺎﻣﻞ اﺟﺮا ﻣﯿﺸﻮد •
ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺣﻠﻘﻪ ﺑﺎﻻﯾﯽ ﺑﻪ ﭘﺎﯾﺎن ﻧﺮﺳﯿﺪ ﺣﻠﻘﻪ دروﻧﯽ داﺋﻢ اﺟﺮا ﻣﯿﺸﻮد. •
ﺟﺪول ﺿﺮب ﺑﻪ ﮐﻤﮏ Nested Loops ﺣﻠﻘﻪ ﻫﺎ LOOPS Part 18
(4دوﺑﺎره ﺑﻪ ﺣﻠﻘﻪ اول ﺑﺮﻣﯿﮕﺮدد و ﻣﺮاﺣﻞ از اﺑﺘﺪا اﺟﺮا ﻣﯿﺸﻮد ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺑﺎزه ﺣﻠﻘﻪ اول ﺑﻪ اﻧﺘﻬﺎ ﺑﺮﺳﺪ.
ﺟﺰﺋﯿﺎت رﺷﺘﻪ ﻫﺎی ﻣﺘﻨﯽ String STRINGS Part 2
ﺑﺎ ﻧﺤﻮه ﺗﻌﺮﯾﻒ و ﻧﺤﻮه اﺳﺘﻔﺎده از آﻧﻬﺎ ﻧﯿﺰ آﺷﻨﺎ ﺷﺪﯾﻢ. •
(4ﺑﻪ ﮐﻤﮏ ﻋﻼﻣﺖ ﺑﺮاﮐﺖ ] [ ﻣﯿﺘﻮان ﺑﻪ ﺗﮏ ﺗﮏ ﻋﻨﺼﺮ ﻫﺎ/اﻧﺪﯾﺲ ﻫﺎی رﺷﺘﻪ دﺳﺖ ﭘﯿﺪا ﮐﺮد.
(6از ﺗﺎﺑﻊ lenﻣﯿﺘﻮان ﺑﺮای ﺑﻪ دﺳﺖ آوردن ﻃﻮل ﻣﺘﻐﯿﯿﺮ ﻫﺎی ﻧﻮع stringاﺳﺘﻔﺎده ﮐﺮد.
String Slicing STRINGS Part 3
ﺑﻪ ﮐﻤﮏ ﺑﺮاﮐﺖ ﻫﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﺑﺎزه ﯾﮏ رﺷﺘﻪ را ﺟﻬﺖ اﺳﺘﻔﺎده ﻣﺸﺨﺺ ﻧﻤﺎﯾﯿﻢ. •
در ﺻﻮرﺗﯽ ﮐﻪ ﺑﺎزه دوم را ﻣﺸﺨﺺ ﻧﮑﻨﯿﻢ آﺧﺮش را در ﻧﻈﺮ ﻣﯿﮕﯿﺮد. •
ﺗﮑﻨﯿﮏ ﻫﺎی زﯾﺎدی ﻣﯿﺘﻮان ﺑﺎ string slicingاﻧﺠﺎم داد ﻣﺜﻼ ﻋﻤﻠﯿﺎت ﺑﺮﻋﮑﺲ ﮐﺮدن •
ﻣﺘﺪ ﻫﺎ در واﻗﻊ ﺧﻮدﺷﺎن ﺗﻮاﺑﻌﯽ ﻫﺴﺘﻨﺪ ﮐﻪ در ﺑﺮﺧﯽ ﮐﻼس ﻫﺎ ﺗﻌﺮﯾﻒ ﺷﺪه اﻧﺪ. •
ﺑﻪ زﺑﺎن ﺳﺎده ﯾﻌﻨﯽ ﺗﻨﻬﺎ روی داده ﻫﺎی ﺧﺎﺻﯽ ﻋﻤﻞ ﻣﯿﮑﻨﻨﺪ. •
ﻧﺤﻮه اﺳﺘﻔﺎده از ﻣﺘﺪ
ﻣﺜﻼ ﻣﺘﺪ ﻫﺎی ﻣﺮﺑﻮط ﺑﻪ stringﻫﺎ ﻓﻘﻂ ﻣﺨﺼﻮص اﯾﻦ ﻧﻮع اﺳﺖ. •
در ﭘﺎﯾﺘﻮن ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض ﺗﻮاﺑﻊ و ﻣﺘﺪ ﻫﺎی ﻣﺘﻌﺪدی وﺟﻮد دارد. •
ﺧﻮدﻣﺎن ﻧﯿﺰ در ﺑﺨﺶ ﻫﺎی ﺟﻠﻮﺗﺮ ﻣﯿﺘﻮاﻧﯿﻢ ﺗﻮاﺑﻊ و ﻣﺘﺪ ﻫﺎی ﻣﻮرد ﻧﻈﺮ ﺧﻮ را اﯾﺠﺎد ﮐﻨﯿﻢ. •
ﻣﺘﺪ را ﻣﯿﺘﻮاﻧﯿﻢ روی ﯾﮏ ﻣﺘﻐﯿﯿﺮ اﻋﻤﺎل ﮐﻨﯿﻢ و ﻧﺘﯿﺠﻪ را داﺧﻞ ﯾﮏ ﻣﺘﻐﯿﯿﺮ دﯾﮕﺮ ذﺧﯿﺮه ﮐﻨﯿﻢ. •
String Methods STRINGS Part 4
ﻧﻮع داده stringﺷﺎﻣﻞ ﻣﺘﺪ ﻫﺎی ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﺧﻮدش اﺳﺖ. •
ﻟﯿﺴﺖ ﺑﺮﺧﯽ از ﻣﺘﺪ ﻫﺎی ﮐﺎرﺑﺮدی رﺷﺘﻪ ﻫﺎ ﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ: •
Methods Description
)(captalize اوﻟﯿﻦ ﺣﺮف رﺷﺘﻪ را ﺑﺰرگ ﻣﯿﮑﻨﺪ
)(replace دو ورودی ﻣﺘﻨﯽ ﻣﯿﮕﯿﺮد و ورودی دوم را در رﺷﺘﻪ ﺟﺎﯾﮕﺰﯾﻦ اوﻟﯽ ﻣﯿﮑﻨﺪ
)(split ﺑﺮ اﺳﺎس ﯾﮏ ﮐﺎراﮐﺘﺮ ﮐﻠﻤﺎت را از ﻫﻢ ﺟﺪا ﻣﯿﮑﻨﺪ و ﺗﺒﺪﯾﻞ ﺑﻪ ﻟﯿﺴﺖ ﻣﯿﮑﻨﺪ
ﺟﺎﯾﮕﺎه ﯾﮏ رﺷﺘﻪ را ﭘﯿﺪا ﻣﯿﮑﻨﺪ و ﭘﺎراﻣﺘﺮ دوم و ﺳﻮم ﻫﻢ ﺑﻪ ﻋﻨﻮان ﺑﺎزه ﺟﺴﺘﺠﻮ
)(find ﻋﻤﻞ ﻣﯿﮑﻨﺪ
ﺗﻌﺪاد ﺗﮑﺮار ﯾﮏ ﮐﻠﻤﻪ ﯾﺎ ...در رﺷﺘﻪ را ﺑﺮﻣﮕﯿﺮداﻧﺪ و ﭘﺎراﻣﺘﺮ دوم و ﺳﻮم ﻫﻢ ﺑﻪ
)(count ﻋﻨﻮان ﺑﺎزه ﺟﺴﺘﺠﻮ ﻋﻤﻞ ﻣﯿﮑﻨﺪ.
Data types review ﻣﺮور اﻧﻮاع داده
از اﯾﻦ ﭘﺲ ﺑﺎ اﻧﻮاع داده ﺟﺪﯾﺪی و ﻣﺘﺪ ﻫﺎی ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﺧﻮدﺷﺎن آﺷﻨﺎ ﻣﯿﺸﻮﯾﻢ. •
ﻟﯿﺴﺖ ﻫﺎ ﺑﺮای ذﺧﯿﺮه ﭼﻨﺪﯾﻦ ﻣﻮرد داده در ﯾﮏ ﻣﺘﻐﯿﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ. •
ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮ ﻋﻀﻮﯾﺖ inﻣﯿﺘﻮاﻧﯿﻢ ﺑﺮرﺳﯽ ﮐﻨﯿﻢ آﯾﺎ ﻣﻘﺪار ﺧﺎﺻﯽ در آن وﺟﻮد •
دارد ﯾﺎ ﺧﯿﺮ.
دﻗﯿﻘﺎ ﻣﺎﻧﻨﺪ ﻣﺘﻐﯿﯿﺮ ﻫﺎی ﻋﺎدی ﻣﯿﺘﻮاﻧﯿﻢ ﻣﻘﺎدﯾﺮ ﻟﯿﺴﺖ ﻫﺎ را ﻧﯿﺰ ﺗﻐﯿﯿﺮ دﻫﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﺑﺎزه ﻧﯿﺰ ﻣﯿﺘﻮان ﻫﻤﺰﻣﺎن ﭼﻨﺪ ﻣﻘﺪار در ﻟﯿﺴﺖ را ﺗﻐﯿﯿﺮ داد. •
Add List Items LISTS Part 3
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( appendﻣﯿﺘﻮاﻧﯿﻢ ﯾﮏ ﻣﻘﺪار ﺑﻪ ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﮐﻨﯿﻢ) .ﺑﻪ آﺧﺮ ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﻣﯿﺸﻮد( •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( insertﻣﯿﺘﻮاﻧﯿﻢ ﺑﮕﻮﯾﯿﻢ ﮐﻪ ﻣﻘﺪار در ﮐﺪام ﻋﻨﺼﺮ ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﺑﺸﻮد. •
ﭘﺮوژه ذﺧﯿﺮه ﻣﺨﺎﻃﺐ در ﻟﯿﺴﺖ LISTS Part 4
ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ ﻫﺎ و ﻟﯿﺴﺖ ﻫﺎ و ﻣﺘﺪ اﺿﺎﻓﻪ ﮐﺮدن آﯾﺘﻢ ﺑﻪ ﻟﯿﺴﺖ ﻣﯿﺨﻮاﻫﯿﻢ ﺑﻪ ﺗﻌﺪاد دﻟﺨﻮاه اﻃﻼﻋﺎت در ﻟﯿﺴﺖ ذﺧﯿﺮه ﮐﻨﯿﻢ. •
(1اﺑﺘﺪا ﺗﻌﺪاد اﻃﻼﻋﺎﺗﯽ ﮐﻪ ﮐﺎرﺑﺮ ﻣﺪ ﻧﻈﺮ دارد در ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﮐﻨﺪ را از او ﻣﯿﮕﯿﺮﯾﻢ و در ﯾﮏ ﻣﺘﻐﯿﺮ ذﺧﯿﺮه ﻣﯿﮑﻨﯿﻢ.
(2ﺳﭙﺲ ﯾﮏ ﻟﯿﺴﺖ ﺧﺎﻟﯽ ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ ﮐﻪ ﻣﯿﺨﻮاﻫﯿﻢ اﻃﻼﻋﺎﺗﻤﺎن را ﺑﻪ داﺧﻞ آن اﺿﺎﻓﻪ ﮐﻨﯿﻢ.
(4ﻫﺮ ﺑﺎر از او اﻃﻼﻋﺎت ﻣﯿﺨﻮاﻫﯿﻢ و ﺑﺎ ﻫﺮ ﺑﺎر وارد ﮐﺮدن ﺑﺎ ﻣﺘﺪ appendﺑﻪ ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﻣﯿﺸﻮد.
ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ forﺑﻪ راﺣﺘﯽ ﻣﯿﺘﻮاﻧﯿﻢ ﺑﻪ ﺗﮏ ﺗﮏ ﻋﻨﺼﺮ ﻫﺎی ﻟﯿﺴﺖ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﻨﯿﻢ. •
Remove Specified Item LISTS Part 6
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( removeﻣﯿﺘﻮاﻧﯿﻢ ﯾﮏ آﯾﺘﻢ ﺧﺎص را از ﻟﯿﺴﺖ ﺣﺬف ﮐﻨﯿﻢ. •
ورودی ﻣﺘﺪ removeﻣﯿﺒﺎﺳﺖ دﻗﯿﻘﺎ ﻣﻘﺪاری ﺑﺎﺷﺪ ﮐﻪ ﻣﺪ ﻧﻈﺮ اﺳﺖ ﺣﺬف ﮐﻨﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( popﻣﯿﺘﻮاﻧﯿﻢ ﯾﮏ آﯾﺘﻢ را از ﻃﺮﯾﻖ ﺷﻤﺎره اﻧﺪﯾﺲ ﯾﺎ ﻫﻤﺎن ﺟﺎﯾﮕﺎﻫﺶ در ﻟﯿﺴﺖ ﺣﺬف ﮐﻨﯿﻢ. •
در ﺻﻮرﺗﯽ ﮐﻪ ورودی ﻣﺘﺪ popﺧﺎﻟﯽ ﺑﺎﺷﺪ آﺧﺮﯾﻦ آﯾﺘﻢ ﭘﺎک ﻣﯿﺸﻮد. •
ﺑﻪ ﮐﻤﮏ ﮐﻠﻤﻪ ﮐﻠﯿﺪی delﻣﯿﺘﻮاﻧﯿﻢ ﯾﮏ آﯾﺘﻢ ﻟﯿﺴﺖ را ﺣﺬف ﮐﻨﯿﻢ .در ﺻﻮرﺗﯽ ﮐﻪ ﺑﻪ ﺷﻤﺎره اﻧﺪﯾﺲ آﯾﺘﻢ اﺷﺎره ﻧﺸﻮد ﺧﻮد ﻟﯿﺴﺖ ﭘﺎک •
ﺧﻮاﻫﺪ ﺷﺪ.
ﺑﺎ اﺳﺘﻔﺎده از ﻣﺘﺪ )( clearﻟﯿﺴﺖ ﻣﺎ ﻧﮕﻪ داﺷﺘﻪ ﻣﯿﻮﺷﺪ اﻣﺎ آﯾﺘﻢ ﻫﺎی آن ﺧﺎﻟﯽ ﻣﯿﺸﻮﻧﺪ. •
List sorting LISTS Part 7
در ﺻﻮرﺗﯽ ﮐﻪ آﯾﺘﻢ ﻫﺎ ﻫﻤﮕﯽ رﺷﺘﻪ ﺑﺎﺷﻨﺪ ﺑﺮ اﺳﺎس ﺣﺮوف اﻟﻔﺒﺎی اﻧﮕﻠﯿﺴﯽ و ﺻﻌﻮدی ﻣﺮﺗﺐ ﺧﻮاﻫﻨﺪ ﺷﺪ. •
در ﺻﻮرﺗﯽ ﮐﻪ آﯾﺘﻢ ﻫﺎ ﻫﻤﮕﯽ ﻋﺪدی ﺑﺎﺷﻨﺪ ﺻﻌﻮدی ﻣﺮﺗﺐ ﺧﻮاﻫﻨﺪ ﺷﺪ. •
ﺑﻪ ﮐﻤﮏ آرﮔﻮﻣﺎن reverseﻣﯿﺘﻮان ﻧﺤﻮه ﻣﺮﺗﺐ ﺳﺎزی ﭘﯿﺸﻔﺮص را ﺑﺮﻋﮑﺲ ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ آرﮔﻮﻣﺎن keyﻣﯿﺘﻮاﻧﯿﻢ ﻣﺮﺗﺐ ﺳﺎزی را ﺑﺮ اﺳﺎس ﺗﺎﺑﻊ ﺷﺨﺼﯽ ﺧﻮدﻣﺎن اﻧﺠﺎم دﻫﯿﻢ. •
ﺗﻤﺮﯾﻦ :ﺗﻌﺪادی ﻋﺪد از ﮐﺎرﺑﺮ ﺑﮕﯿﺮﯾﺪ و در ﻧﻬﺎﯾﺖ آن ﻫﺎ ﺑﻪ ﺻﻮرت ﺻﻌﻮدی و ﻧﺰوﻟﯽ ﻧﻤﺎﯾﺶ دﻫﯿﺪ. •
Copy a list LISTS Part 8
اﻣﺎ ﻣﺎﻧﻨﺪ اﺧﺘﺼﺎص دادن ﻣﺘﻐﯿﯿﺮ ﻫﺎ ﻧﻤﯿﺘﻮاﻧﯿﻢ ﻟﯿﺴﺖ ﻫﺎ را ﺑﻪ ﻫﻢ اﺧﺘﺼﺎﺻﯽ دﻫﯿﻢ. •
ﻣﯿﺒﺎﯾﺴﺖ از ﻣﺘﺪ )( copyﺟﻬﺖ ﮐﭙﯽ ﮐﺮدن ﯾﮏ ﻟﯿﺴﺖ در ﻗﺎﻟﺐ ﻣﺘﻐﯿﯿﺮ در ﯾﮏ ﻣﺘﻐﯿﯿﺮ دﯾﮕﺮ اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
ﺑﺮای اﯾﻦ ﮐﺎر دو روش دارﯾﻢ .ﻣﺘﺪ copyو ﺗﺎﺑﻊ list •
Join two list LISTS Part 9
ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮ ﺣﺴﺎﺑﯽ +ﻣﯿﺘﻮان دو ﻟﯿﺴﺖ را ﺑﻪ ﯾﮑﺪﯾﮕﺮ ﻣﻠﺤﻖ ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﺣﻠﻘﻪ forﻧﯿﺰ ﻣﯿﺘﻮاﻧﯿﻢ اﯾﻦ ﻋﻤﻞ را اﻧﺠﺎم دﻫﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( extendﻧﯿﺰ ﻣﯿﺘﻮان ﻟﯿﺴﺖ ﻫﺎ را ﺑﻪ ﯾﮑﺪﯾﮕﺮ ﻣﻠﺤﻖ ﮐﺮد. •
List methods LISTS Part 10
Methods Description
)(append ﯾﮏ آﯾﺘﻢ ﺑﻪ اﻧﺘﻬﺎی ﻟﯿﺴﺖ اﺿﺎﻓﻪ ﻣﯿﮑﻨﺪ
)(index ﺟﺎﯾﮕﺎه آﯾﺘﻢ را در ﻟﯿﺴﺖ ﻣﺸﺨﺺ ﻣﯿﮑﻨﺪ )اوﻟﯿﻦ آﯾﺘﻤﯽ ﮐﻪ ﭘﯿﺪا ﮐﻨﺪ(
ﮐﺎرﺑﺮد آﻧﻬﺎ ﻣﺸﺎﺑﻪ ﻟﯿﺴﺖ ﻫﺎ اﺳﺖ و ﺑﺮای ذﺧﯿﺮه ﭼﻨﺪ ﻣﻘﺪار در ﯾﮏ ﻣﺘﻐﯿﯿﺮ اﺳﺘﻔﺎده ﻣﯿﺸﻮد. •
ﺗﻔﺎوت ﺑﺎ ﻟﯿﺴﺖ در آن اﺳﺖ ﮐﻪ ﺗﺎﭘﻞ ﻣﻨﻈﻢ ﺗﺮ اﺳﺖ و ﻏﯿﺮ ﻗﺎﺑﻞ ﺗﻐﯿﯿﺮ! •
ﻫﯿﭻ ﯾﮏ از ﻋﻤﻠﯿﺎت ﻫﺎی ﺗﻐﯿﯿﺮ و ﺣﺬف و اﺿﺎﻓﻪ ﮐﺮدن آﯾﺘﻢ را در ﺗﺎﭘﻞ ﻫﺎ ﻧﻤﯿﺘﻮان اﻧﺠﺎم داد. •
در ﺻﻮرت ﻧﯿﺎز ﺑﻪ ﺗﺎﭘﻞ ﺑﺎ ﯾﮏ آﯾﺘﻢ ﺣﺘﻤﺎ ﺑﺎﯾﺪ آن را ﺑﺎ ﻋﻼﻣﺖ ,ﺟﺪا ﺳﺎزی ﮐﻨﯿﻢ در ﻏﯿﺮ اﯾﻨﺼﻮرت ﯾﮏ رﺷﺘﻪ ﻣﺘﻨﯽ اﺳﺖ. •
ﻣﺸﺎﺑﻪ ﻟﯿﺴﺖ ﻫﺎ ﻣﯿﺘﻮان ﺑﻪ آﯾﺘﻢ ﻫﺎی ﺗﺎﭘﻞ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
ﺟﻬﺖ دﺳﺘﺮﺳﯽ ﻣﻨﻔﯽ آﯾﺘﻢ ﻫﺎ از ﻋﻼﻣﺖ – اﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ و اوﻟﯿﻦ آﯾﺘﻢ از -1ﺷﺮوع ﻣﯿﺸﻮد. •
ﺑﻪ رﻧﺞ آﯾﺘﻢ ﻫﺎی ﺗﺎﭘﻞ ﻣﯿﺘﻮان دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد .آﯾﺘﻢ ﻫﺎ از ﺧﻮد ﺑﺎزه اول ﺗﺎ ﻗﺒﻞ ﺑﺎزه آﺧﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯿﺸﻮد. •
ﺑﺎ ﻋﻤﻠﮕﺮ ﻫﺎی ﻋﻀﻮﯾﺖ ﻣﯿﺘﻮان وﺟﻮد ﯾﮏ آﯾﺘﻢ ﺧﺎص را ﻧﯿﺰ ﺑﺮرﺳﯽ ﮐﺮد. •
Update Tuples TUPLES Part 3
اﻣﺎ ﻣﻤﮑﻦ اﺳﺖ ﮔﺎﻫﯽ ﻧﯿﺎز ﺑﺎﺷﺪ ﺗﻐﯿﯿﺮاﺗﯽ در آن ﻫﺎ اﻋﻤﺎل ﮐﻨﯿﻢ. •
ﺳﭙﺲ ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ ﻫﺎی ﻟﯿﺴﺖ ﺗﻐﯿﯿﺮات ﺧﻮد را اﻋﻤﺎل ﻣﯿﮑﻨﯿﻢ. •
زﻣﺎﻧﯽ ﮐﻪ ﻣﺎ ﯾﮏ ﺗﺎﭘﻞ ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ ﺑﻪ اﺻﻄﻼح ﺑﻪ اﯾﻦ ﻋﻤﻞ tuple packingﻣﯿﮕﻮﯾﻨﺪ. •
ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮاﻧﯿﻢ ﺗﻤﺎم آﯾﺘﻢ ﻫﺎی ﺗﺎﭘﻞ را ﺑﻪ ﻣﺘﻐﯿﯿﺮ ﺗﺒﺪﯾﻞ ﮐﻨﯿﻢ .اﯾﻦ ﻋﻤﻞ را unpackingﻣﯿﮕﻮﯾﻨﺪ. •
ﺑﻪ ﮐﻤﮏ ﻋﻼﻣﺖ * ﻣﯿﺘﻮاﻧﯿﻢ ﭼﻨﺪ ﻣﻘﺪار ﺑﺎﻗﯽ ﻣﺎﻧﺪه از ﺗﺎﭘﻞ را در ﻗﺎﻟﺐ ﯾﮏ ﻟﯿﺴﺖ در ﻣﺘﻐﯿﯿﺮ ذﺧﯿﺮه ﮐﻨﯿﻢ. •
Loop In tuple TUPLES Part 5
دﻗﯿﻘﺎ ﻣﺸﺎﺑﻪ دﯾﮕﺮ داده ﻫﺎی دﻧﺒﺎﻟﻪ دار ﻣﯿﺘﻮاﻧﯿﻢ درون ﺗﺎﭘﻞ ﻫﺎ ﻧﯿﺰ ﺣﻠﻘﻪ ﺑﺰﻧﯿﻢ. •
در ﺻﻮرت اﺳﺘﻔﺎده از ﺣﻠﻘﻪ whileﻧﯿﺎز ﺑﻪ ﺗﻌﺮﯾﻒ ﺷﻤﺎرﻧﺪه و اﺳﺘﻔﺎده از ﺗﺎﺑﻊ )( lenدارﯾﻢ. •
Join two tuples TUPLES Part 6
در ﺻﻮرت ﻧﯿﺎز ﺑﻪ ﺗﮑﺮار ﻣﻘﺎدﯾﺮ ﺗﺎﭘﻞ ﻫﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﺗﺎﭘﻞ را ﺿﺮب ﮐﻨﯿﻢ. •
Tuple Methods TUPLES Part 7
Methods Description
)(count ﺗﻌﺪاد وﺟﻮد ﯾﮏ آﯾﺘﻢ را در ﺗﺎﭘﻞ ﺷﻤﺎرش ﻣﯿﮑﻨﺪ
اﻣﺎ اﻣﮑﺎن ﺣﺬف و اﺿﺎﻓﻪ ﮐﺮدن ﻣﻮارد ﺟﺪﯾﺪ وﺟﻮد دارد) .ﺑﺮ ﺧﻼف ﺗﺎﭘﻞ ﻫﺎ( •
ﻓﺎﻗﺪ ﻧﻤﺎﯾﻪ ) (indexﻫﺴﺘﻨﺪ .ﯾﻌﻨﯽ ﺑﺎ ﺷﻤﺎره آﯾﺘﻢ/اﻧﺪﯾﺲ ﻧﻤﯿﺘﻮان ﺑﻪ آﯾﺘﻢ ﻫﺎ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
دﻗﯿﻘﺎ ﻣﺸﺎﺑﻪ ﻟﯿﺴﺖ ﻫﺎ و ﺗﺎﭘﻞ ﻫﺎ ﻣﯿﺘﻮان در ﺳﺖ ﻫﺎ ﻧﯿﺰ ﺣﻠﻘﻪ زد و ﺑﻪ آﯾﺘﻢ ﻫﺎی دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
اﻣﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﺪاﺷﺘﻦ ﻧﻤﺎﯾﻪ ) (indexﻧﻤﯿﺘﻮان ﺑﺮ اﺳﺎس ﻣﻮﻗﻌﯿﺖ آﯾﺘﻢ ﺑﻪ آن دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
Add items to set SETS Part 4
ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮان ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( updateﻫﺮ داده دﻧﺒﺎﻟﻪ دار دﯾﮕﺮی ﻧﯿﺰ •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ ﻫﺎی )( removeو )( discardﻣﯿﺘﻮان آﯾﺘﻢ ﻫﺎی ﺳﺖ را ﺣﺬف ﮐﺮد. •
در ﺻﻮرﺗﯽ ﮐﻪ از ﻣﺘﺪ removeاﺳﺘﻔﺎده ﮐﻨﯿﻢ و آﯾﺘﻢ ﻣﺪ ﻧﻈﺮ ﺑﺮای ﺣﺬف وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺎ ﺧﻄﺎ ﻣﻮاﺟﻪ ﺧﻮاﻫﯿﻢ ﺷﺪ. •
اﻣﺎ ﻣﺘﺪ discardﻋﻼرﻏﻢ وﺣﻮد ﻧﺪاﺷﺘﻦ آﯾﺘﻢ ﺧﻄﺎﯾﯽ ﺑﻪ وﺟﻮد ﻧﺨﻮاﻫﺪ آورد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( popﻣﯿﺘﻮان اﺧﺮﯾﻦ آﯾﺘﻢ ﺳﺖ را ﺣﺬف ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ ﻫﺎی updateو unionﻣﯿﺘﻮاﻧﯿﻢ ﺳﺖ ﻫﺎ را ﺑﻪ ﯾﮑﺪﯾﮕﺮ ﻣﻠﺤﻖ ﮐﻨﯿﻢ. •
ﻫﺮ دوی اﯾﻦ ﻣﺘﺪ ﻫﺎ داده ﻫﺎی ﺗﮑﺮاری را ﺣﺬف ﻣﯿﮑﻨﻨﺪ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ intersection_updateﻣﯿﺘﻮاﻧﯿﻢ ﻓﻘﻂ داده ﻫﺎی ﺗﮑﺮاری ﺑﯿﻦ دو ﺳﺖ را ﻧﮕﻪ داری ﮐﻨﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ symmetric_difference_updateﻫﻤﻪ داده ﻫﺎ ﻧﮕﻪ داری ﻣﯿﺸﻮﻧﺪ ﺑﻪ ﺟﺰ ﺗﮑﺮاری ﻫﺎ. •
ﺟﻬﺖ اﺳﺘﻔﺎده از دو ﻣﺘﺪ ﺑﺎﻻ و ذﺧﯿﺮه ﺗﻐﯿﯿﺮات در ﻗﺎﻟﺐ ﯾﮏ ﻣﺘﻐﯿﯿﺮ دﯾﮕﻪ ﻣﯿﺒﺎﺳﺖ ﻋﺒﺎرت update •
اﻣﺎ ﺟﺪول ﺑﺮﺧﯽ دﯾﮕﺮ از ﻣﺘﺪ ﻫﺎی ﺳﺖ ﺑﻪ ﺷﺮح زﯾﺮ ﻣﯿﺒﺎﺷﺪ. •
Methods Description
)(difference ﻣﺠﻤﻮﻋﻪ ای ﺣﺎوی ﺗﻔﺎوت ﺑﯿﻦ دو ﯾﺎ ﭼﻨﺪ ﺳﺖ را ﺑﺮ ﻣﯽ ﮔﺮداﻧﺪ.
ﻣﻮارد ﻣﻮﺟﻮد در ﺳﺖ را ﮐﻪ در ﻣﺠﻤﻮﻋﻪ ﻣﺸﺨﺺ دﯾﮕﺮی ﻧﯿﺰ ﮔﻨﺠﺎﻧﺪه ﺷﺪه اﻧﺪ ،ﺣﺬف
)(difference_update ﻣﯽ ﮐﻨﺪ
)(Issubset ﺑﺮرﺳﯽ ﻣﯿﮑﻨﺪ آﯾﺎ ﯾﮏ ﺳﺖ دﯾﮕﺮ ﺣﺎوی آﯾﺘﻢ ﻫﺎی اﯾﻦ ﺳﺖ ﻣﯿﺒﺎﺷﺪ ﯾﺎ ﺧﯿﺮ.
)(Issuperset ﺑﺮرﺳﯽ ﻣﯿﮑﻨﺪ ﮐﻪ آﯾﺎ اﯾﻦ ﺳﺖ ﺷﺎﻣﻞ آﯾﺘﻢ ﻫﺎی ﺳﺖ دﯾﮕﺮی اﺳﺖ ﯾﺎ ﺧﯿﺮ.
DICTIONARIES Part 1
ﻓﺮض ﮐﻨﯿﺪ ﻣﺎ ﺗﻨﻬﺎ در ﻗﺎﻟﺐ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻣﯿﺨﻮاﻫﯿﻢ اﻃﻼﻋﺎت ﯾﮏ ﺧﻮدرو را ذﺧﯿﺮه ﮐﻨﯿﻢ. •
ﻧﺤﻮه ﺗﻌﺮﯾﻒ دﯾﮑﺸﻨﺮی ﻫﺎ ﺑﻪ ﮐﻤﮏ ﻋﻼﻣﺖ } { و ﺗﻌﺮﯾﻒ ﮐﻠﯿﺪ و ﻣﻘﺪار اﺳﺖ .ﺳﻤﺖ ﭼﭗ :ﮐﻠﯿﺪ اﺳﺖ و ﺳﻤﺖ راﺳﺖ :ﻣﻘﺪار اﺳﺖ. •
DICTIONARIES Part 2
از ﻧﺴﺨﻪ 3.7ﺑﻪ ﺑﻌﺪ ﭘﺎﯾﺘﻮن دﯾﮑﺸﻨﺮی ﻫﺎ ﻣﺮﺗﺐ ﻫﺴﺘﻨﺪ ) (Orderedﯾﻌﻨﯽ دارای ﺗﺮﻧﯿﺐ ﻣﺸﺨﺺ ﻫﺴﺘﻨﺪ و ﺟﺎﯾﮕﺎه ﺗﺮﺗﯿﺐ ﻫﺎ ﺗﻐﯿﯿﺮ ﻧﺨﻮاﻫﺪ ﮐﺮد. •
دﯾﮑﺸﻨﺮی ﻫﺎ ﻗﺎﺑﻞ ﺗﻐﯿﯿﺮ ﻫﺴﺘﻨﺪ ) (Changeableﯾﻌﻨﯽ ﻣﯿﺘﻮاﻧﯿﻢ ﻣﻘﺎدﯾﺮ را ﺗﻐﯿﯿﺮ دﻫﯿﻢ و ﻋﻤﻠﯿﺎت ﺣﺬف و اﺿﺎﻓﻪ را ﻧﯿﺰ اﻧﺠﺎم دﻫﯿﻢ ﺑﻌﺪ از ﺳﺎﺧﺖ. •
ﺗﮑﺮار ﮐﻠﯿﺪ ﻫﺎ در دﯾﮑﺸﻨﺮی ﻗﺎﺑﻞ ﻗﺒﻮل ﻧﯿﺴﺖ و آﺧﺮﯾﻦ ﻣﻘﺪار در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯿﺸﻮد. •
ﺑﻪ ﮐﻤﮏ ﺗﺎﺑﻊ )( lenﻣﯿﺘﻮاﻧﯿﻢ ﻃﻮل دﯾﮑﺸﻨﺮی را ﺑﻪ دﺳﺖ آورﯾﻢ. •
ﺑﻪ ﮐﻤﮏ ﻧﺎم ﮐﻠﯿﺪ در ﻋﻼﻣﺖ ﺑﺮاﮐﺖ ] [ ﻣﯿﺘﻮان ﺑﻪ ﻣﻘﺎدﯾﺮ آﯾﺘﻢ ﻫﺎ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( getﻧﯿﺰ ﻣﯿﺘﻮان ﺑﻪ ﻣﻘﺎدﯾﺮ آﯾﺘﻢ ﻫﺎی دﯾﮑﺸﻨﺮی دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( keyدر ﻗﺎﻟﺐ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻣﯿﺘﻮان ﮐﻠﯿﺪ ﻫﺎی ﯾﮏ دﯾﮑﺸﻨﺮی را ﺑﻪ دﺳﺖ آورد. •
change item DICTIONARIES Part 4
ﺑﻪ ﮐﻤﮏ ﻧﺎم ﮐﻠﯿﺪ ﻣﯿﺘﻮان ﺑﻪ راﺣﺘﯽ ﻣﻘﺪار آن ﮐﻠﯿﺪ را ﺗﻐﯿﯿﺮ داد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( updateﻧﯿﺰ ﻣﯿﺘﻮان ﻣﻘﺎدﯾﺮ را ﺗﻐﯿﯿﺮ داد. •
add item DICTIONARIES Part 5
ﺑﻪ ﮐﻤﮏ ﺗﻌﺮﯾﻒ ﯾﮏ ﮐﻠﯿﺪ ﺟﺪﯾﺪ و اﺧﺘﺼﺎص داده ﻣﻘﺪار ﺑﻪ آن ﻣﯿﺘﻮان ﺑﻪ دﯾﮑﺸﻨﺮی آﯾﺘﻢ اﺿﺎﻓﻪ ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( updateﻧﯿﺰ ﻣﯿﺘﻮان اﯾﻨﮑﺎر را اﻧﺠﺎم داد. •
Remove item DICTIONARIES Part 6
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( popو دادن ﻧﺎم ﮐﻠﯿﺪ ﺑﻪ ﻋﻨﻮان ورودی ان ﻣﯿﺘﻮان آن آﯾﺘﻢ را ﺣﺬف ﮐﺮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( popitemﻧﯿﺰ ﻣﯿﺘﻮان آﺧﺮﯾﻦ آﯾﺘﻢ را ﺣﺬف ﻧﻤﻮد. •
ﺑﻪ ﮐﻤﮏ ﮐﻠﻤﻪ ﮐﻠﯿﺪی delو ﻧﺎم دﯾﮑﺸﻨﺮی و ﻧﺎم ﮐﻠﯿﺪ درون ﺑﺮاﮐﺖ ﻣﯿﺘﻮان آﯾﺘﻢ را ﺣﺬف ﮐﺮد. •
در ﺻﻮرت اﺳﺘﻔﺎده از ﻋﺒﺎرت delو ﺗﻌﺮﯾﻒ ﻧﮑﺮدن ﻧﺎم ﮐﻠﯿﺪ ﮐﻞ دﯾﮑﺸﻨﺮی ﺣﺬف ﺧﻮاﻫﺪ ﺷﺪ. •
در ﺻﻮرت ﺣﻠﻘﻪ زدن در دﯾﮑﺸﻨﺮی ﺗﻨﻬﺎ ﺑﻪ ﮐﻠﯿﺪ ﻫﺎ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﻣﯿﮑﻨﯿﻢ. •
در ﺻﻮرت ﻧﯿﺎز ﺑﻪ دﺳﺘﺮﺳﯽ ﺑﻪ ﻣﻘﺎدﯾﺮ ﮐﻠﯿﺪ ﻫﺎ ﻣﯿﺒﺎﺳﺖ ﻧﺎم دﯾﮑﺸﻨﺮی و آﯾﺘﻢ آن ﺑﺎ ﻋﻨﻮان ﻣﺘﻐﯿﯿﺮ ﭘﺎﯾﻪ ﻣﯿﺘﻮان دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﺮد. •
روش دﯾﮕﺮ ﺑﺮای دﺳﺘﺮﺳﯽ ﺑﻪ ﻣﻘﺎدﯾﺮ آﯾﺘﻢ ﻫﺎ ﻣﯿﺘﻮان از ﻣﺘﺪ valueﻫﻨﮕﺎم ﺣﻠﻘﻪ زدن اﺳﺘﻔﺎده ﮐﺮد. •
Copy dicts DICTIONARIES Part 8
در ﺣﺎﻟﺖ ﻋﺎدی ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮ اﺧﺘﺼﺎص = ﻧﻤﯿﺘﻮان دﯾﮑﺸﻨﺮی ﻫﺎ را ﺑﻪ ﯾﮑﺪﯾﮕﺮ اﺧﺘﺼﺎص داد. •
ﯾﮏ روش دﯾﮕﺮ ﺑﺮای ﮐﭙﯽ ﮐﺮدن دﯾﮑﺸﻨﺮی اﺳﺘﻔﺎده از ﺗﺎﺑﻊ )( dictاﺳﺖ. •
Nested dicts DICTIONARIES Part 9
ﺑﻪ ﭼﻨﯿﻦ داده ﻫﺎﯾﯽ دﯾﮑﺸﻨﺮی ﻫﺎی ﺗﻮ در ﺗﻮر ﮔﻔﺘﻪ ﻣﯿﺸﻮد. •
ﻧﺤﻮه دﺳﺘﺮﺳﯽ ﺑﻪ ﻣﻘﺎدﯾﺮ ﺑﻪ ﺷﮑﻞ ﻓﺮاﺧﻮاﻧﯽ ﭼﻨﺪ ﮐﻠﯿﺪ ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ اﺳﺖ. •
ﺑﯿﺸﺘﺮﯾﻦ ﮐﺎرﺑﺮد ﭼﻨﯿﻦ داده ای ﺑﺤﺚ وب ﺳﺮوﯾﺲ ﻫﺎ و اﭘﻠﯿﮑﯿﺸﻦ ﻫﺎی ﻣﻮﺑﺎﯾﻠﯽ اﺳﺖ. •
ﺗﻤﺮﯾﻦ :اﻃﻼﻋﺎت ﻫﻮﯾﺘﯽ ۳ﮐﺎرﺑﺮ را ﺑﮕﯿﺮﯾﺪ و در ﻗﺎﻟﺐ ﯾﮏ دﯾﮑﺸﻨﺮی ذﺧﯿﺮه ﮐﻨﯿﺪ. •
Dict methods DICTIONARIES Part 10
Methods Description
)(clear ﻫﻤﻪ ﻣﻘﺎدﯾﺮ دﯾﮑﺸﻨﺮی را ﭘﺎک ﻣﯿﮑﻨﺪ )ﮐﻠﯿﺪ و ﻣﻘﺪار(
در ﺑﺨﺶ ﻫﺎی ﮔﺬﺷﺘﻪ ﺑﺎ ﻧﺤﻮه ﻋﻤﻠﮑﺮد ﺳﺎده ﺗﻮاﺑﻊ آﺷﻨﺎ ﺷﺪﯾﻢ. •
ﺑﺎ ﺗﻮاﺑﻌﯽ ﻣﺎﻧﻨﺪ printو inputو ﺗﻮاﺑﻊ ﺗﺒﺪﯾﻞ ﻧﻮع و ...آﺷﻨﺎ ﺷﺪﯾﻢ. •
ﺑﺎ ﭘﺎراﻣﺘﺮ ﻫﺎی ﺗﻮاﺑﻊ آﺷﻨﺎ ﺷﺪﯾﻢ ﮐﻪ ﺑﺎﻋﺚ ﯾﮑﺴﺮی ﺗﻨﻈﯿﻤﺎت روی ﺗﺎﺑﻊ ﺑﻮد. •
در ﺣﻘﯿﻘﺖ ﺗﻮاﺑﻊ ﺑﺮای آﺳﺎن ﺗﺮ ﺷﺪن ﯾﮑﺴﺮی ﮐﺎر ﻫﺎ اﯾﺠﺎد ﺷﺪه اﻧﺪ. •
ﺑﺎ اﯾﺠﺎد ﺗﻮاﺑﻊ ﺷﺨﺼﯽ ﺧﻮد ﻣﯿﺘﻮاﻧﯿﻢ از ﻧﻮﺷﺘﻦ ﮐﺪ ﻫﺎی ﺗﮑﺮاری ﺟﻠﻮﮔﯿﺮی ﮐﻨﯿﻢ . •
ﺣﺘﯽ ﻣﯿﺘﻮان ﺗﻮاﺑﻊ ﺧﻮد را ﺑﺎ دﯾﮕﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺳﺮاﺳﺮ ﺟﻬﺎن ﺑﺮای اﺳﺘﻔﺎده ﺑﻪ اﺷﺘﺮاک ﺑﮕﺬارﯾﻢ. •
Create a function FUNCTIONS Part 2
ﺗﻮاﺑﻊ ﻣﺸﺎﺑﻪ ﺣﻠﻘﻪ ﻫﺎ و ﺷﺮط ﻫﺎ دارای ﺑﺪﻧﻪ/ﺑﻼک ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﺎ ﻧﺤﻮه ﻋﻤﻠﮑﺮد و ﺧﺮوﺟﯽ ﺗﺎﺑﻊ را در آﻧﺠﺎ ﻣﯿﻨﻮﯾﺴﯿﻢ. •
ﭘﺲ از ﮐﻠﻤﻪ ﮐﯿﻠﺪی defﻧﺎم ﻣﺪ ﻧﻈﺮ ﺑﺮای ﺗﺎﺑﻊ ﺧﻮد را ﻣﯿﻨﻮﯾﺴﯿﻢ و ﭘﺲ از آن ﭘﺮاﻧﺘﺰ ﺑﺎز و ﺑﺴﺘﻪ و ﺳﭙﺲ ﻋﻼﻣﺖ دو ﻧﻘﻄﻪ : •
ﺗﻮ رﻓﺘﮕﯽ را ﻣﺸﺎﺑﻪ ﺣﻠﻘﻪ ﻫﺎ رﻋﺎﯾﺖ ﻣﯿﮑﻨﯿﻢ و دﺳﺘﻮرات ﺧﻮد را در آﻧﺠﺎ ﻣﯿﻨﻮﯾﺴﯿﻢ. •
ﻧﺎم ﻣﺪ ﻧﻈﺮ ﺑﺮای ﻓﺮاﺧﻮاﻧﯽ ﺗﺎﺑﻌﺒﺎ رﻋﺎﯾﺖ ﻗﻮاﻧﯿﻦ ﻧﺎم ﮔﺬاری در ﭘﺎﯾﺘﻮن
def my_func():
pass
اﮐﻨﻮن در ﻫﺮ ﮐﺠﺎی ﺑﺮﻧﺎﻣﻪ اﯾﻦ ﺗﺎﺑﻊ را ﻓﺮاﺧﻮاﻧﯽ ﮐﻨﯿﻢ ﻋﺒﺎرت Hi. I’m Amirﭼﺎپ ﻣﯿﺸﻮد •
در ﺑﺨﺶ ﻗﺒﻠﯽ ﻣﺸﺎﻫﺪه ﮐﺮدﯾﺪ ﮐﻪ ﻫﺮ ﺟﺎ ﻧﺎم ﺗﺎﺑﻊ را ﺻﺪا ﺑﺰﻧﯿﻢ ﻋﻤﻠﯿﺎت ﺗﺎﺑﻊ را ﮐﻪ از ﻗﺒﻞ ﻧﻮﺷﺘﻪ اﯾﻢ اﻧﺠﺎم ﻣﯿﺸﻮد. •
اﮔﺮ دﻗﺖ ﮐﺮده ﺑﺎﺷﯿﺪ ﻣﺜﻼ در ﺗﺎﺑﻊ printﻣﺎ ﺑﺎﯾﺪ ﺣﺘﻤﺎ ﯾﮏ ورودی ﺑﻪ آن ﺑﺪﻫﯿﻢ اﻣﺎ در ﺗﺎﺑﻌﯽ ﮐﻪ ﻣﺎ اﯾﺠﺎد ﮐﺮدﯾﻢ ﻧﯿﺎز ﺑﻪ ورودی ﻧﺒﻮد. •
آرﮔﻮﻣﺎن ﻫﺎ اﻏﻠﺐ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻫﺴﺘﻨﺪ ﮐﻪ ورودی ﺗﺎﺑﻊ را در ﺧﻮد ذﺧﯿﺮه ﻣﯿﮑﻨﻨﺪ و در ﺑﻼک/درون ﺗﺎﺑﻊ ﻣﯿﺘﻮاﻧﯿﻢ آن ورودی را اﺳﺘﻔﺎده و ﭘﺮدازش ﮐﻨﯿﻢ. •
آرﮔﻮﻣﺎن ﻫﺎ ﻣﻘﺎدﯾﺮی ﻫﺴﺘﻨﺪ ﮐﻪ ﻫﻨﮕﺎم ﻓﺮاﺧﻮاﻧﯽ ﺗﺎﺑﻊ ﺑﻪ آن ارﺳﺎل ﻣﯿﺸﻮد و ﺗﺎﺑﻊ روی آﻧﻬﺎ ﭘﺮدازش اﻧﺠﺎم ﻣﯿﺪﻫﺪ. •
ﭘﺎراﻣﺘﺮ ﻫﺎ ﻣﺘﻐﯿﯿﺮ ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﻫﻨﮕﺎم اﯾﺠﺎد ﺗﺎﺑﻊ درون ﺧﻮد ﭘﺮاﻧﺘﺰ ﻫﺎی ﺗﺎﺑﻊ ﻟﯿﺴﺖ ﻣﯿﺸﻮﻧﺪ و ﺑﯿﺸﺘﺮ ﺑﺮای ﺗﻨﻈﯿﻤﺎت ﺧﻮد ﺗﺎﺑﻌﻤﺎن از •
در ﻣﺜﺎل زﯾﺮ ﺗﺎﺑﻌﯽ اﯾﺠﺎد ﮐﺮده اﯾﻢ ﮐﻪ دو آرﮔﻮﻣﺎن دارد: •
در ﻫﻨﮕﺎم ﻓﺮاﺧﻮاﻧﯽ در ﺻﻮرﺗﯽ ﮐﻪ آرﮔﻮﻣﺎن ﻫﺎی ورودی دﻗﯿﻘﺎ ﺗﻌﺪادﺷﺎن ۲ﻧﺒﺎﺷﺪ ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﺧﻄﺎ ﻣﻮاﺟﻪ ﺧﻮاﻫﺪ ﺷﺪ. •
Arbitrary Arguments, *args FUNCTIONS Part 6
در ﻣﺜﺎل ﻗﺒﻠﯽ ﻣﺸﺎﻫﺪه ﮐﺮدﯾﺪ ﮐﻪ در ﺣﺎﻟﺖ ﻋﺎدی ﯾﮏ ﺗﺎﺑﻊ ﺑﺎﯾﺪ ﺑﻪ ﺗﻌﺪاد ارﮔﻮﻣﺎن ﻫﺎی ﭘﯿﺸﻔﺮض ﺗﻌﺮﯾﻒ ﺷﺪه ورودی ﻧﯿﺰ ﺑﻪ ﻫﻤﺎن ﺗﻌﺪاد داد. •
در ﺻﻮرﺗﯽ ﮐﻪ ﻧﻤﯿﺪاﻧﯿﺪ ﯾﺎ ﻧﻤﯿﺨﻮاﻫﯿﺪ دﻗﯿﻘﺎ ﺑﻪ ﺗﻌﺪاد ﻣﺪ ﻧﻈﺮ ورودی داﺷﺘﻪ ﺑﺎﺷﯿﺪ و ﺑﺮ ﻋﻬﺪه ﮐﺎرﺑﺮ ﺑﮕﺬارﯾﺪ ﮐﺎﻓﯽ اﺳﺖ ﺑﻪ ﻫﻨﮕﺎم اﯾﺠﺎد ﺗﺎﺑﻊ •
ﺑﻪ ﮐﻤﮏ اﯾﻦ وﯾﮋﮔﯽ ﺗﺎﺑﻊ ﻣﯿﺘﻮاﻧﺪ ﺗﻌﺪاد ورودی ﻫﺎی ﻧﺎ ﻣﺸﺨﺼﯽ داﺷﺘﻪ ﺑﺎﺷﺪ. •
ﻣﺎﻧﻨﺪ ﺗﺎﺑﻊ printﮐﻪ ﺗﻌﺪاد ورودی آن ﻣﺸﺨﺺ ﻧﺸﺪه اﺳﺖ و ﻣﯿﺘﻮان ﻫﺮ ﭼﻨﺪ ﺗﻌﺪاد ﮐﻪ ﻣﯿﺨﻮاﻫﯿﻢ ﺑﻪ آن ورودی ﺑﺪﻫﯿﻢ و ﺑﺎ ﻋﻼﻣﺖ ,از ﻫﻢ •
ﺟ ﺪ ا ﮐ ﻨ ﯿ ﻢ.
در ﺻﻮرت اﺳﺘﻔﺎده از دو ﻋﻼﻣﺖ ** ﻗﺒﻞ از آرﮔﻮﻣﺎن ﺗﺎﺑﻊ ورودی ﻫﺎ را ﺑﻪ ﺷﮑﻞ دﯾﮑﺸﻨﺮی درﯾﺎﻓﺖ ﻣﯿﮑﻨﺪ. •
Keyword Arguments FUNCTIONS Part 7
ﺷﻤﺎ ﻫﻤﭽﻨﯿﻦ ﻣﯿﺘﻮاﻧﯿﺪ ﻣﻘﺎدﯾﺮ آرﮔﻮﻣﺎن ﻫﺎ را ﺑﺎ ﮐﻠﯿﺪ/ﻧﺎم ﻣﺘﻐﯿﯿﺮ آﻧﻬﺎ ﺑﻪ ﺗﺎﺑﻊ ارﺳﺎل ﮐﻨﯿﺪ. •
Default Parameter Value FUNCTIONS Part 8
در ﺻﻮرﺗﯽ ﮐﻪ ﯾﮏ آرﮔﻮﻣﺎن را ﺑﻪ ﻃﻮر آن ﭘﯿﺸﻔﺮض ﺑﻪ آن ﻣﻘﺪار ﺑﺪﻫﯿﻢ ﺗﺒﺪﯾﻞ ﺑﻪ ﭘﺎراﻣﺘﺮ ﺧﻮاﻫﺪ ﺷﺪ. •
ﻫﻤﭽﻨﯿﻦ اﮔﺮ ﺗﺎﺑﻊ ورودی ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻪ ﺑﻪ ﻃﻮر ﺧﻮدﮐﺎر از ﻣﻘﺪار ﭘﯿﺸﻔﺮض ﭘﺎراﻣﺘﺮ اﺳﺘﻔﺎده ﻣﯿﮑﻨﺪ. •
Passing a List as an Argument FUNCTIONS Part 9
ﻧﺤﻮه ﻣﺤﺎﺳﺒﻪ ﻣﺴﺎﺣﺖ داﯾﺮه ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ﺷﻌﺎع * ﺷﻌﺎع * ﻋﺪد pi •
ﺑﻨﺎﺑﺮ ﻓﺮﻣﻮل ﺗﻨﻬﺎ ﮐﺎﻓﯽ اﺳﺖ ﺷﻌﺎع را ﺑﻪ ﻋﻨﻮان آرﮔﻮﻣﺎن ﺑﻪ ﺗﺎﺑﻊ ﺑﺪﻫﯿﻢ و ﺑﺎﻗﯽ ﭘﺮدازش ﻫﺎ را درون ﺗﺎﺑﻊ اﻧﺠﺎم دﻫﯿﻢ. •
Return Values FUNCTIONS Part 11
ﺗﺎ ﮐﻨﻮن ﺗﻮاﺑﻌﯽ ﮐﻪ اﯾﺠﺎد ﮐﺮدﯾﻢ ﯾﮏ ﺳﺮی ورودی درﯾﺎﻓﺖ ﻣﯿﮑﺮد و ﭘﺮدازش ﻫﺎﯾﯽ اﻧﺠﺎم ﻣﯿﺪاد و در ﻧﻬﺎﯾﺖ ﯾﮏ ﺧﺮوﺟﯽ ﺑﻪ ﻣﺎ ﻧﻤﺎﯾﺶ ﻣﯿﺪاد. •
ﻣﺎ ﻣﯿﺘﻮاﻧﻢ از ﺧﺮوﺟﯽ ﺗﻮاﺑﻊ ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻣﻘﺪار در ﺟﺎ ﻫﺎی ﻣﺨﺘﻠﻒ ﺑﺮﻧﺎﻣﻪ اﺳﺘﻔﺎده ﮐﻨﯿﻢ ﻣﺜﻼ درون ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﯾﺎ ﯾﮏ ﺗﺎﺑﻊ دﯾﮕﺮ. •
ﺑﺮای ﻣﺜﺎل ﻣﯿﺨﻮاﻫﯿﻢ ﺗﺎﺑﻌﯽ اﯾﺠﺎد ﮐﻨﯿﻢ ﮐﻪ ﺳﻦ ﻣﺎ را ﺑﺮ اﺳﺎس ﺳﺎل ﺑﮕﯿﺮﯾﺪ و ﺧﺮوﺟﯽ آن ﺗﻌﺪاد روز ﻫﺎی ﻋﻤﺮﻣﺎن ﺑﺎﺷﺪ ﻫﻤﭽﻨﯿﻦ ﺗﻮاﻧﯿﻢ •
ﻻﻣﺒﺪا ﻫﺎ ﻣﯿﺘﻮاﻧﻨﺪ ﻫﺮ ﺗﻌﺪادی آرﮔﻮﻣﺎن ﺑﮕﯿﺮﯾﺪ اﻣﺎ ﻓﻘﻂ ﯾﮏ ﭘﺮدازش ﻣﯿﺘﻮاﻧﺪ اﻧﺠﺎم دﻫﺪ. •
در ﻣﺜﺎل زﯾﺮ ﻻﻣﺒﺪا دو آرﮔﻮﻣﺎن ﻣﯿﮕﯿﺮﯾﺪ اﻣﺎ ﻓﻘﻂ ﯾﮏ ﻋﻤﻠﯿﺎت ﺿﺮب اﻧﺠﺎم ﻣﯿﺪﻫﺪ. •
Python Scope FUNCTIONS Part 13
ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻓﻘﻂ در ﻣﺤﺪوده اﯾﺠﺎد ﺷﺪه ﺧﻮدش در دﺳﺘﺮس اﺳﺖ. •
:Local scopeﻣﺘﻐﯿﯿﺮی ﮐﻪ درون ﺗﺎﺑﻊ اﯾﺠﺎد ﺷﺪه اﺳﺖ و ﺗﻨﻬﺎ در آﻧﺠﺎ ﻗﺎﺑﻞ اﺳﺘﻔﺎده اﺳﺖ. •
:Global scopeﻣﺘﻐﯿﯿﺮی ﮐﻪ در ﺑﺪﻧﻪ اﺻﻠﯽ ﺑﺮﻧﺎﻣﻪ ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ و در ﻫﺮ ﺟﺎﯾﯽ ﻗﺎﺑﻞ اﺳﺘﻔﺎده اﺳﺖ. •
ﻫﻤﭽﻨﯿﻦ ﺑﻪ ﮐﻤﮏ ﮐﻠﻤﻪ ﮐﻠﯿﺪی globalﻗﺒﻞ از ﻧﺎم ﻣﺘﻐﯿﯿﺮ آن ﻣﺘﻐﯿﯿﺮ را ﻣﯿﺘﻮان در ﻫﺮ ﺟﺎﯾﯽ از ﺑﺮﻧﺎﻣﻪ اﺳﺘﻔﺎده ﮐﺮد ﺣﺘﯽ اﮔﺮ درون ﺗﺎﺑﻊ ﺑﺎﺷﺪ. •
Python modules MODULES Part 1
ﻣﺎژول ﻫﺎ در ﺣﻘﯿﻘﺖ ﯾﮏ ﻓﺎﯾﻞ ﻫﺴﺘﻨﺪ ﺷﺎﻣﻞ اﻧﻮاع ﺗﻮاﺑﻊ ﮐﻪ ﻣﺎ ﻣﯿﺘﻮاﻧﯿﻢ از آﻧﻬﺎ در ﺑﺮﻧﺎﻣﻪ ﺧﻮد اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
در زﺑﺎن ﻫﺎی دﯾﮕﺮ ﺑﻪ ﻣﺎژول ﻫﺎ ﮐﺘﺎﺑﺨﺎﻧﻪ ﯾﺎ ﭘﮑﯿﺞ ﻧﯿﺰ ﻣﯿﮕﻮﯾﻨﺪ. •
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻨﮑﻪ ﺑﻪ ﻃﻮل ﮐﺎﻣﻞ ﺑﺎ ﺗﻮاﺑﻊ آﺷﻨﺎ ﺷﺪﯾﻢ ﻣﺘﻮاﻧﯿﻢ ﻣﺎژول ﻫﺎی ﺧﻮد را ﺑﻨﻮﯾﺴﯿﻢ و اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
ﯾﮏ ﻓﺎﯾﻞ ﭘﺎﯾﺘﻮﻧﯽ اﯾﺠﺎد ﮐﻨﯿﺪ و ﺗﻮاﺑﻊ ﻣﺪ ﻧﻈﺮ ﺧﻮد را در آن ﺑﻨﻮﯾﺴﯿﺪ. •
اﯾﻦ ﻓﺎﯾﻠﯽ ﮐﻪ اﯾﺠﺎد ﮐﺮدﯾﺪ ﯾﮏ ﻣﺎژول اﺳﺖ .ﺣﺎﻻ ﭼﮕﻮﻧﻪ از آن اﺳﺘﻔﺎده ﮐﻨﯿﻢ؟ •
ﮐﺎﻓﯽ اﺳﺖ ﯾﮏ ﻓﺎﯾﻞ ﭘﺎﯾﺘﻮﻧﯽ دﯾﮕﺮ اﯾﺠﺎد ﮐﻨﯿﻢ و در ﺧﻂ اول آن از ﻋﺒﺎرت importﺳﭙﺲ ﻧﺎم ﻓﺎﯾﻞ ﻣﺎژوﻟﯽ ﮐﻪ ﺳﺎﺧﺘﻢ ﺑﻨﻮﯾﺴﯿﻢ. •
ﻣﺎزول ﻣﺎ ﮐﻪ ﺷﺎﻣﻞ ﯾﮑﺴﺮی ﺗﻮاﺑﻊ اﺳﺖ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺟﺪﯾﺪ ﻣﺎ اﺿﺎﻓﻪ ﺷﺪ. •
Using modules MODULES Part 2
دﻟﯿﻞ اﺳﺘﻔﺎده از ﻣﺎژول ﮐﻤﺘﺮ ﺷﺪن ﮐﺪ ﻫﺎ و اﺳﺘﻔﺎده از ﺗﻮﺑﻊ آﻣﺎده و ...اﺳﺖ. •
دﻗﺖ ﮐﻨﯿﺪ ﺑﻌﺪ از اﯾﻨﮑﻪ ﻣﺎژول ﺧﻮد را اﯾﺠﺎد ﮐﺮدﯾﺪ ﺑﺮای اﺳﺘﻔﺎده در ﺑﺮﻧﺎﻣﻪ دﯾﮕﺮ ﺣﺘﻤﺎ ﻓﺎﯾﻞ ﻣﺎژول ﻣﯿﺒﺎﯾﺴﺖ ﮐﻨﺎر ﺑﺮﻧﺎﻣﻪ ﺑﺎﺷﺪ. •
در ﻣﺜﺎل زﯾﺮ ﯾﮏ ﻣﺎژول ﺳﺎﺧﺘﯿﻢ ﮐﻪ درون آن دو ﺗﺎﺑﻊ ﺿﺮب و ﻣﺴﺎﺣﺖ داﯾﺮه وﺟﻮد دارد. •
در ﺑﺮﻧﺎﻣﻪ دﯾﮕﺮ آن ﻣﺎژول را اﺿﺎﻓﻪ ﮐﺮدﯾﻢ از ﺗﻮاﺑﻊ دورن آن اﺳﺘﻔﺎده ﮐﺮدﯾﻢ. •
ﺑﺮای اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ درون ﯾﮏ ﻣﺎژول ﻧﺎم ﻣﺎژول ﺳﭙﺲ ﻋﻼﻣﺖ .ﺳﭙﺲ ﻧﺎم ﺗﺎﺑﻊ را ﻣﯿﻨﻮﯾﺴﯿﻢ و ﻣﻘﺪار ورودی را ﺑﻪ آن ﻣﯿﺪﻫﯿﻢ. •
ﻣﺎژول ﺧﻮد را ﻣﯿﺘﻮاﻧﯿﻢ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﻫﺎی ﻣﺨﺘﻠﻒ ﺑﻪ اﺷﺘﺮاک ﺑﮕﺬارﯾﻢ. •
Using modules MODULES Part 3
ﺑﻌﻀﺎ ﻣﯿﺒﺎﯾﺴﺖ ﻣﺎ ﺑﺮای رﺳﯿﺪن ﺑﻪ اﻫﺪاف ﺧﻮد در ﺑﺮﻧﺎﻣﻪ از ﻣﺎژول ﻫﺎ اﺳﺘﻔﺎده ﮐﻨﯿﻢ .ﭼﺮا؟ •
ﻓﺮض ﮐﻨﯿﺪ ﻧﯿﺎز ﺑﻪ ﺗﺎﺑﻊ ﯾﺎ ﻗﻄﻌﻪ ﮐﺪی دارﯾﺪ ﮐﻪ ﺑﯽ ﻧﻬﺎﯾﺖ از ﺷﻤﺎ ﻋﺪد ﺑﮕﯿﺮد و آﻧﻬﺎ را در ﻫﻢ ﺿﺮب ﮐﻨﺪ .ﺧﺐ ﺷﻤﺎ ﻓﺮﺿﺎ ﻣﯿﺘﻮاﻧﺪ ﺗﺎﺑﻊ ﺑﺴﺎزﯾﺪ ﮐﻪ دو ﻋﺪد ﺑﮕﯿﺮﯾﺪ •
او اﻧﻬﺎ را در ﻫﻢ ﺿﺮب ﮐﻨﺪ .اﻣﺎ ﻧﻤﺘﻮاﻧﯿﺪ ﯾﺎ وﻗﺖ ﻧﺪارﯾﺪ ﭼﻨﯿﻦ ﺑﺮﻧﺎﻣﻪ ﺑﺮﻧﺎﻣﻪ ای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﭼﻨﺪﯾﻦ ﻋﺪد را در ﻫﻢ ﺿﺮب ﮐﻨﺪ .اﯾﻨﺠﺎ اﺳﺖ ﮐﻪ ﺳﺮاغ ﻣﺎژول ﻫﺎی
ﮔﺎﻫﺎ ﻧﺎم ﺑﺮﺧﯽ از ﻣﺎژول ﻫﺎ ﻃﻮﻻﻧﯽ اﺳﺖ و ﺑﻪ ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ و ﻣﺘﺪ ﻫﺎی آن ﮐﺪ ﻣﺎ ﮐﻤﯽ ﺑﯿﺸﺘﺮ ﺧﻮاﻫﺪ ﺷﺪ. •
ﻣﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﻫﺮ ﻣﺎژوﻟﯽ ﮐﻪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﮐﺮدﯾﻢ را ﻧﺎم دﻫﯽ ﮐﻨﯿﻢ و ﻧﺎم اﺧﺘﺼﺎری ﺑﻪ آن ﺑﺪﻫﯿﻢ ﮐﻪ ﺣﯿﻦ اﺳﺘﻔﺎده دﺳﺘﺮﺳﯽ ﺑﻪ آن آﺳﺎن ﺗﺮ ﺑﺎﺷﺪ. •
زﻣﺎﻧﯽ ﮐﻪ ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرت importﯾﮏ ﻣﺎژول را ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﻣﯿﮑﻨﯿﻢ ﺗﻤﺎم ﺗﻮاﺑﻊ و ﻣﺘﺪ و ﻣﺘﻐﯿﯿﺮ ﻫﺎ و ...آن ﻣﺎژول ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻣﺎ اﺿﺎﻓﻪ ﺧﻮاﻫﻨﺪ ﺷﺪ. •
ﯾﮏ ﻣﺎژول ﻣﻤﮑﻦ اﺳﺖ ﺷﺎﻣﻞ ۱۰۰ﻫﺎ ﺗﺎﺑﻊ و ...ﺑﺎﺷﺪ ﮐﻪ ﻫﻤﮕﯽ ان ﻫﺎ ﺑﺮای ﻣﺎ ﮐﺎرﺑﺮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و importﮐﺮدن آن ﻣﺎزول ﺑﺎﻋﺚ ﺳﻨﮕﯿﻨﯽ ﺑﺮﻧﺎﻣﻪ ﺧﻮاﻫﺪ ﺷﺪ. •
ﺑﻪ ﮐﻤﮏ ﮐﻠﻤﻪ ﮐﻠﯿﺪی fromﻣﯿﺘﻮاﻧﯿﻢ ﺑﮕﻮﯾﯿﻢ دﻗﯿﻘﺎ از ﯾﮏ ﻣﺎژول ﭼﻪ ﺑﺨﺶ ﻫﺎﯾﯽ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻣﺎ اﺿﺎﻓﻪ ﺷﻮد. •
ﺑﺮای ﻣﺜﺎل در ﺑﺮﻧﺎﻣﻪ ﻣﻘﺎﺑﻞ ﻓﻘﻂ ﻧﯿﺎز ﺑﻪ ﺗﺎﺑﻊ c_areaدارﯾﻢ و ﻧﺨﻮاﻫﯿﻢ ﺑﻘﯿﻪ ﻣﻮارد ﻣﺎژول mymoduleﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﺷﻮد. •
ﻫﻤﭽﻨﯿﻦ در ﺻﻮرت اﺳﺘﻔﺎده از اﯾﻦ روش دﯾﮕﺮی ﻧﯿﺎزی ﺑﻪ ﻧﻮﺷﺘﻦ ﻧﺎم ﻣﺎژول ﻗﺒﻞ از ﺗﺎﺑﻊ ﯾﺎ ...ﻣﺪ ﻧﻈﺮ ﻧﯿﺴﺖ. •
Built-In modules MODULES Part 6
در ﺑﺨﺶ ﻫﺎی اﺑﺘﺪای ﮔﻔﺘﻪ ﺷﺪ ﮐﻪ زﺑﺎن ﭘﺎﯾﺘﻮن دارای ﺗﻮاﺑﻊ ﭘﯿﺸﻔﺮض ﻣﺘﻌﺪدی اﺳﺖ ﮐﻪ ﻣﺎ ﺑﺎ ﺻﺪا زدن آﻧﻬﺎ ﻣﯿﺘﻮاﻧﯿﻢ آﻧﻬﺎ را ﺑﻪ ﮐﺎر ﮔﯿﺮﯾﻢ. •
ﻫﻤﭽﻨﯿﻦ ﭘﺎﯾﺘﻮن دارای ﻣﺎژول ﻫﺎی ﭘﯿﺸﻔﺮض ﻧﯿﺰ ﻣﯿﺒﺎﺷﺪ ﮐﻪ ﺑﻪ ﻫﻨﮕﺎم ﻧﺼﺐ ﭘﺎﯾﺘﻮن آن ﻣﺎژول ﻫﺎ ﻧﯿﺰ در ﮐﻨﺎر ﭘﺎﯾﺘﻮن ﻧﺼﺐ ﻣﯿﺸﻮﻧﺪ. •
ﻣﺎژول ﻫﺎ ﻣﻌﻤﻮﻻ در ﻣﺤﻞ ﻧﺼﺐ ﭘﺎﯾﺘﻮن در رﯾﺸﻪ آن در داﯾﺮﮐﺘﻮری libﻗﺮار دارﻧﺪ. •
اﻟﺒﺘﻪ ﺑﺴﺘﻪ ﺑﻪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻣﻮرد اﺳﺘﻔﺎده ﻣﻤﮑﻦ اﺳﺖ ﻣﺤﻞ ﻣﺎژول ﻫﺎ و ﺧﻮد ﻣﺤﻞ ﻧﺼﺐ ﺷﺪه ﭘﺎﯾﺘﻮن ﻣﺘﻔﺎوت ﺑﺎﺷﺪ. •
در ﺑﺨﺶ ﻗﺒﻠﯽ ﻣﺘﻮﺟﻪ ﺷﺪﯾﻢ ﮐﻪ اﮔﺮ ﻣﺎژوﻟﯽ را ﺧﻮدﻣﺎن ﺑﺴﺎزﯾﻢ و ﻗﺼﺪ اﺳﺘﻔﺎده از آن را داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺣﺘﻤﺎ ﺑﺎﯾﺪ ﻓﺎﯾﻞ ﻣﺎژول در ﮐﻨﺎر ﺑﺮﻧﺎﻣﻪ ﺟﺪﯾﺪ ﺑﺎﺷﺪ. •
در ﺣﺎل ﺣﺎﺿﺮ ﻧﯿﺎزی ﻧﯿﺴﺖ ﺑﻪ دﻧﺒﺎل ﻣﺴﯿﺮ ﻣﺎژول ﻫﺎی ﭘﯿﺸﻔﺮض ﭘﺎﯾﺘﻮن ﺑﺎﺷﯿﻢ ﭼﺮاﮐﻪ ﺑﺎ ﻋﺒﺎرت importو ﻧﺎم آن ﻣﺎژول ﺑﻪ راﺣﺘﯽ ﻣﯿﺘﻮاﻧﯿﻢ ﻣﺎژول را ﺑﻪ ﺑﺮﻧﺎﻣﻪ •
ﺑﺮای دﯾﺪن ﻟﯿﺴﺖ ﻣﺎژول ﻫﺎی ﻧﺼﺐ ﺷﺪه ﻧﯿﺎزی ﺑﻪ رﻓﺘﻦ ﺑﻪ داﯾﺮﮐﺘﻮری ﭘﺎﯾﺘﻮن ﻧﯿﺴﺖ. •
ﺑﺮای اﯾﻨﮑﺎر ﻣﺤﯿﻂ CMD/Terminalرا ﺑﺎز ﮐﻨﯿﺪ و ﭘﺎﯾﺘﻮن را اﺟﺮا ﮐﻨﯿﺪ. •
ﺳﭙﺲ ﺗﺎﺑﻊ helpرا ﻓﺮاﺧﻮاﻧﯽ ﮐﻨﯿﺪ و آرﮔﻮﻣﺎن ورودی آن را ’ ‘modulesﻗﺮار دﻫﯿﺪ. •
ﺳﻮال :آﯾﺎ ﻧﯿﺎز اﺳﺖ ﺗﻤﺎم ﻣﺎژول ﻫﺎی ﭘﯿﺸﻔﺮض ﭘﺎﯾﺘﻮن را ﺑﻠﺪ ﺑﺎﺷﯿﻢ؟ •
ﺧﯿﺮ ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان ﻧﯿﺎز ﺑﻪ ﭼﻨﯿﻦ ﮐﺎری ﻧﯿﺴﺖ .ﻣﺎ ﺑﺴﺘﻪ ﺑﻪ ﻧﯿﺎز ﺧﻮد در ﭘﺮژوه از ﻣﺎژول ﻫﺎی •
ﻣﺨﺘﻠﻒ در ﺑﺮﻧﺎﻣﻪ ﺧﻮد اﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ و ﺑﺎ ﻓﺮاﮔﺮﻓﺘﻦ ﻣﺒﺎﻧﯽ ﭘﺎﯾﺘﻮن ﺳﭙﺲ ﻧﺤﻮه ﺟﺴﺘﺠﻮی ﺻﺤﯿﺢ
ﻣﯿﺘﻮاﻧﯿﻢ اﻧﻮاع ﻣﺎژول/ﭘﮑﯿﭻ ﻣﻮرد ﻧﯿﺎز را از ﻃﺮﯾﻖ Documentﻫﺎی اﺻﻠﯽ ﯾﺎد ﺑﮕﯿﺮﯾﻢ و اﺳﺘﻔﺎده ﮐﻨﯿﻢ.
در ﺑﺨﺶ ﻫﺎی ﺑﻌﺪی ﭼﻨﺪ ﻣﺎژول ﭘﯿﺸﻔﺮض ﮐﺎرﺑﺮدی را ﮐﺎر ﺧﻮاﻫﯿﻢ ﮐﺮد. •
Random module MODULES Part 8
ﺑﻪ ﮐﻤﮏ اﯾﻦ ﻣﺎژول و ﺗﻮاﺑﻊ و ﻣﺘﺪ ﻫﺎی آن ﻣﯿﺘﻮاﻧﯿﻢ ﻣﻘﺎدﯾﺮ ﺗﺼﺎدﻓﯽ )ﺷﺎﻣﻞ ﻫﺮ ﻧﻮع داده ای ﻋﺪدی و رﺷﺘﻪ و (...ﺗﻮﻟﯿﺪ ﮐﻨﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( randomﯾﮏ ﻣﻘﺪار ﻋﺪد ﺻﺤﯿﺢ ﺗﺼﺎدﻓﯽ ﺑﯿﻦ ۰ﺗﺎ ۱اﯾﺠﺎد ﻣﯿﺸﻮد. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( randintﯾﮏ ﻋﺪد ﺻﺤﯿﺢ ﺗﺼﺎدﻓﯽ اﯾﺠﺎد ﻣﯿﺸﻮد و ﻣﯿﺘﻮاﻧﯿﻢ ﺑﺎزه اﯾﺠﺎد ﻋﺪد را ﻧﯿﺰ در دو آرﮔﻮﻣﺎن ﻣﺸﺨﺺ ﮐﻨﯿﻢ. •
ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ )( choiceﯾﮏ ﻣﻘﺪار ﺗﺼﺎدﻓﯽ از آرﮔﻮﻣﺎن ورودی ﺳﺎﺧﺘﻪ ﻣﯿﺸﻮد .ارﮔﻮﻣﺎن ورودی ﻣﯿﺘﻮاﻧﺪ ﯾﮑﯽ •
(2ﺳﭙﺲ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ ﮐﻪ اﻣﺘﯿﺎزات را درون ﺧﻮد ذﺧﯿﺮه ﮐﻨﺪ .ﻣﻘﺪار ﭘﯿﺸﻔﺮض ۰اﺳﺖ.
(3ﺣﺎﻻ ﻣﯿﺨﻮاﻫﯿﻢ ﺑﺎزی ۱۰دﺳﺖ ﺑﺎﺷﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﯾﮏ ﺣﻠﻘﻪ ﺑﺎ رﻧﺞ ۱۰اﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ.
(4در ﻫﺮ ﺑﺎر اﺟﺮای ﺣﻠﻘﻪ ﯾﮏ ﻋﺪد ﺗﺼﺎدﻓﯽ ﺑﯿﻦ ۱ﺗﺎ ۶ﺗﻮﻟﯿﺪ ﻣﯿﺸﻮد و درون ﻣﺘﻐﯿﯿﺮ ذﺧﯿﺮه ﻣﯿﺸﻮد.
(6اﮔﺮ ﻣﻘﺪار ﻋﺪد ﺗﺼﺎدﻓﯽ ﺑﺮاﺑﺮ ﺣﺪس ﮐﺎرﺑﺮ ﺑﺎﺷﺪ اﻣﺘﯿﺎز ۱+ﻣﯿﺸﻮد ﻫﺮ ﺑﺎر.
(8در ﻧﻬﺎﯾﺖ ﺗﻌﺪاد اﻣﺘﯿﺎز ﯾﺎ ﺣﺪس ﻫﺎی درﺳﺖ ﮐﺎرﺑﺮ را ﻧﻤﺎﯾﺶ ﻣﯿﺪﻫﯿﻢ.
Password generator MODULES Part 10
(3ﯾﮏ ﻟﯿﺴﺖ ﺧﺎﻟﯽ ﺑﺮای ﻧﮕﻪ داری ﮐﺎرﮐﺘﺮ ﻫﺎی ﺗﺼﺎدﻓﯽ اﯾﺠﺎد ﺷﺪه ﺗﻌﺮﯾﻒ ﻣﯿﮑﻨﯿﻢ.
(4ﯾﮏ ﻣﺘﻐﯿﯿﺮ از ﻧﻮع رﺷﺘﻪ ﺧﺎﻟﯽ اﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ ﮐﻪ رﻣﺰ ﻧﻬﺎﯾﯽ را داﺧﻞ آن ذﺧﯿﺮه ﮐﻨﯿﻢ.
(5ﺳﭙﺲ ﯾﮏ ﺣﻠﻘﻪ اﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ ﮐﻪ ﺗﻌﺪاد ﭼﺮﺧﺶ آن ﺑﻪ اﻧﺪازه ﻃﻮل ﻣﺪ ﻧﻈﺮ رﻣﺰ ﺑﺎﺷﺪ.
(6ﯾﮏ ﻟﯿﺴﺖ درون ﺣﻠﻘﻪ اﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ و ﮐﺎراﮐﺘﺮ ﻫﺎی ﻣﺪ ﻧﻈﺮ را ﺑﺮای رﻣﺰ در آن ﻗﺮار ﻣﯿﺪﻫﯿﻢ) .ﻫﻤﮕﯽ از ﻧﻮع رﺷﺘﻪ ﺑﺎﺷﻨﺪ(
(7ﺳﭙﺲ درون ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻣﺘﺪ choiceرا ﻗﺮار ﻣﯿﺪﻫﯿﻢ و ورودی ان ﻟﯿﺴﺖ ﻗﺒﻠﯽ ﺑﺎﺷﺪ ﺗﺎ ﯾﮏ ﮐﺎراﮐﺘﺮ ﺗﺼﺎدﻓﯽ اﯾﺠﺎد ﺷﻮد.
(10در ﻧﻬﺎﯾﺖ ﺑﻪ ﮐﻤﮏ ﯾﮏ ﺣﻠﻘﻪ دﯾﮕﺮ ﻟﯿﺴﺖ ﻧﻬﺎﯾﯽ را ﺑﻪ رﺷﺘﻪ ﺗﺒﺪﯾﻞ ﻣﯿﮑﻨﯿﻢ.
(11ﻣﯿﺘﻮاﻧﯿﻢ ﮐﻞ اﯾﻦ ﻋﻤﻠﯿﺎت را ﺑﻪ ﯾﮏ ﺗﺎﺑﻊ و ﻣﺎژول ﺗﺒﺪﯾﻞ ﮐﻨﯿﻢ ﮐﻪ دﯾﮕﺮان ﻧﯿﺰ ﺑﻪ راﺣﺘﯽ اﺳﺘﻔﺎده ﮐﻨﻨﺪ.
Password generator MODULES
ﺑﻪ ﮐﻤﮏ ﻋﻤﻠﮕﺮ ﻫﺎی ﺣﺴﺎﺑﯽ ﯾﮑﺴﺮی ﻋﻤﻠﯿﺎت ﭘﺎﯾﻪ رﯾﺎﺿﯽ را ﻣﯿﺘﻮاﻧﯿﻢ اﻧﺠﺎم دﻫﯿﻢ. •
در ﺻﻮرﺗﯽ ﮐﻪ ﺧﺎرج از آن ﻋﻤﻠﮕﺮ ﻫﺎی ﻧﯿﺎز ﺑﻪ ﻋﻤﻠﯿﺎت رﯾﺎﺿﯽ ﺧﺎﺻﯽ ﺑﺎﺷﯿﻢ ﻣﯿﺘﻮاﻧﯿﻢ از ﻣﺎژول mathو ﻣﺘﺪ ﻫﺎی آن ﺑﻬﺮه ﺑﺒﺮﯾﻢ. •
اﯾﻦ ﻣﺎژول ﯾﮑﯽ از ﭘﯿﺸﻔﺮض ﻫﺎی ﭘﺎﯾﺘﻮن ﻣﯿﺒﺎﺷﺪ ﮐﻪ ﻧﯿﺎزی ﺑﻪ ﻧﺼﺐ ﻧﺪارد. •
ﻣﺘﺪ )( piﻣﻘﺪار دﻗﯿﻖ ﻋﺪد ﭘﯽ را ﺑﺮﻣﮕﯿﺮداﻧﺪ و ﻓﺎﻗﺪ ورودی اﺳﺖ. •
اﯾﻦ ﻣﺎژول دارای ﻣﺘﺪ ﻫﺎی دﯾﮕﺮی ﻧﯿﺰ ﻣﯿﺒﺎﺷﺪ و ﺗﻨﻬﺎ ﭼﻨﺪ ﻣﺘﺪ از آن ﻣﺜﺎل ﺷﺪه ﺷﺪ .ﺟﻬﺖ دﺳﺘﺮﺳﯽ ﺑﻪ ﻣﺘﺪ ﻫﺎی ﺑﯿﺸﺘﺮ اﯾﻦ ﻣﺎژول روی ﻟﯿﻨﮏ زﯾﺮ ﮐﻠﯿﮏ ﮐﻨﯿﺪ. •
https://www.w3schools.com/python/module_math.asp
Platform module MODULES Part 12
ﺑﻪ ﮐﻤﮏ اﯾﻦ ﻣﺎژول ﻣﯿﺘﻮاﻧﯿﻢ اﻃﻼﻋﺎت ﮔﺴﺘﺮده ای در ﺧﺼﻮص ﺳﯿﺴﺘﻢ ﻣﻮرد اﺳﺘﻔﺎده ﺑﻪ دﺳﺖ آورﯾﻢ. •
ﯾﮑﯽ دﯾﮕﺮ از ﻣﺎژول ﭘﯿﺸﻔﺮض ﻧﺼﺐ ﺷﺪه ﻫﻤﺮاه ﭘﺎﯾﺘﻮن Tkinterاﺳﺖ. •
ﺑﻪ ﮐﻤﮏ اﯾﻦ ﻣﺎژول ﻣﯿﺘﻮاﻧﯿﻢ ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﺧﻮد را ﺑﻪ ﺻﻮرت ﮔﺮاﻓﯿﮑﯽ ﺑﺮای ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی Linux , Mac , Windowsاﯾﺠﺎد ﮐﻨﯿﻢ. •
ﺗﻤﺎﻣﯽ ﺷﺊ ﻫﺎی داﺧﻞ اﯾﻦ ﻣﺎژول را widgetﻣﯿﮕﻮﯾﻨﺪ ﺑﺮای ﻣﺜﺎل Labels , Button , Input :و... •
ﺟﺪای از ﻣﻨﻈﻖ ﺑﺮﻧﺎﻣﻪ ﻧﯿﺎز اﺳﺖ ﺗﻤﺎﻣﯽ ﺷﺊ ﻫﺎ ﻧﯿﺰ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺳﺎﺧﺘﻪ ﺷﻮد. •
اﺑﺰار ﻫﺎﯾﯽ ﻣﺜﻞ Tkinter Designerوﺟﻮد دارﻧﺪ ﮐﻪ ﺑﺮای ﻃﺮاﺣﯽ ﮔﺮاﻓﯿﮑﯽ ﻧﯿﺎز ﺑﻪ ﮐﺪ ﻧﻮﯾﺴﯽ ٪۱۰۰ﻧﯿﺴﺖ و ﻓﻘﻂ ﻧﯿﺎز ﺑﻪ اﯾﺠﺎد ﻣﻨﻄﻖ ﺑﺮﻧﺎﻣﻪ اﺳﺖ. •
ﺟﻬﺖ دﺳﺘﺮﺳﯽ ﺑﻪ ﻣﺴﺘﻨﺪات ﻓﺎرﺳﯽ اﯾﻦ ﻣﺎژول ﻣﯿﺘﻮاﻧﯿﺪ ﺑﻪ ﺳﺎﯾﺖ https://www.w3-farsi.com/posts/category/python/tkinter-in-pythonﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ. •
در ﺻﻮرﺗﯽ ﮐﻪ ﻧﯿﺎز ﺑﻪ ﻣﺎژول ﺧﺎﺻﯽ داﺷﺘﻪ ﺑﺎﺷﯿﺪ و ﺑﻪ ﺻﻮرت ﭘﯿﺸﻔﺮض ﻧﺼﺐ ﻧﺒﺎﺷﯿﺪ ﭼﻪ ﺑﺎﯾﺪ ﮐﺮد؟ •
ﯾﺎ ﺑﺎﯾﺪ در اﯾﻨﺘﺮﻧﺖ ﺑﻪ دﻧﺒﺎل آن ﻣﺎژول ﺑﮕﺮدﯾﺪ و ﺳﭙﺲ ﮐﺪ ﻫﺎی آن را در ﮐﻨﺎر ﭘﺮوژه ﺧﻮد ﻗﺮار دﻫﯿﺪ و اﺳﺘﻔﺎده ﮐﻨﯿﺪ. •
ﺑﻪ ﮐﻤﮏ اﺑﺰار ﻣﺪﯾﺮﯾﺖ ﺑﺴﺘﻪ ﭘﺎﯾﺘﻮن ﻧﯿﺰ ﻣﯿﺘﻮان ﻣﺎژول ﻫﺎی ﻣﺨﺘﻠﻔﯽ در ﺳﯿﺴﺘﻢ ﻧﺼﺐ ﮐﺮد. •
اﯾﻦ اﺑﺰار pipﻧﺎم دارد و ﺑﻪ ﺻﻮرت ﭘﯿﺸﻔﺮض در ﮐﻨﺎر ﭘﺎﯾﺘﻮن ﻧﺼﺐ اﺳﺖ. •
ﺷﻤﺎ ﻫﻢ ﻣﯿﺘﻮاﻧﯿﺪ ﺑﺎ ﻧﺎم ﺧﻮدﺗﺎن در ﺳﺎﯾﺖ pypiاﻗﺪام ﺑﻪ ﭘﮑﯿﺞ ﺳﺎزی ﮐﻨﯿﺪ و اﯾﻦ اﻣﺮ رزوﻣﻪ ﺧﻮﺑﯽ ﺑﺮای ﺷﻤﺎ ﺧﻮاﻫﺪ ﺷﺪ. •
ﺟﻬﺖ اﻃﻤﯿﻨﺎن از ﻧﺼﺐ ﺑﻮدن pipدر ﻣﺤﯿﻂ CMD/Terminalدﺳﺘﻮر pipرا وارد ﮐﻨﯿﺪ. •
ﻣﻤﮑﻦ اﺳﺖ ﻋﻤﻠﮑﺮد اﯾﻦ دﺳﺘﻮر در ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی ﻣﺨﺘﻠﻒ ﻣﺘﻔﺎوت ﺑﺎﺷﺪ .در ﺻﻮرت داﺷﺘﻦ ﺧﻄﺎ ﯾﮑﯽ از دﺳﺘﻮرات زﯾﺮ را اﻣﺘﺤﺎن ﮐﻨﯿﺪ. •
(1اﺑﺘﺪا ﺑﻪ ﮐﻤﮏ دﺳﺘﻮر python3 -m pip install --upgrade pipﯾﺎ pip install –upgrade pipﭘﯿﭗ را ﺑﻪ آﺧﺮﯾﻦ ﻧﺴﺨﻪ ارﺗﻘﺎء دﻫﯿﺪ.
ﺳﭙﺲ دﺳﺘﻮر pip install packagenameرا وارد ﮐﻨﯿﺪ .ﺑﻌﺪ از installﻣﯿﺒﺎﯾﺴﺖ ﻧﺎم ﭘﮑﯿﺞ ﻣﺪ ﻧﻈﺮ را وارد ﮐﻨﯿﺪ. (2
(3ﺑﺮای ﻣﺜﺎل ﻣﯿﺨﻮاﻫﯿﻢ ﯾﮏ ﭘﮑﯿﺞ ﺑﺮای ﺗﺮﺟﻤﻪ ﻣﺘﻦ ﺑﻪ ﭘﺮوژه ﻣﺎن اﺿﺎﻓﻪ ﮐﻨﯿﻢ
ﭘﺲ از ﻧﺼﺐ ﭘﮑﯿﺞ ﻣﻮرد ﻧﻈﺮ اﯾﻦ ﭘﮑﯿﺞ در ﻣﺤﻞ libﭘﺎﯾﺘﻮن ﻗﺮار ﻣﯿﮕﯿﺮد. •
ﯾﻌﻨﯽ ﻧﯿﺎزی ﻧﯿﺴﺖ ﻓﺎﯾﻠﯽ در ﮐﻨﺎر ﭘﺮوژه ﺧﻮد ﻗﺮار دﻫﯿﻢ. •
ﮐﺎﻓﯽ اﺳﺖ ﺑﺎ ﻋﺒﺎرت importو ﻧﺎم ﭘﮑﯿﺞ آن را ﭘﺮوژه ﺧﻮدﻣﺎن اﺿﺎﻓﻪ ﮐﻨﯿﻢ. •
ﺑﺮای اﻃﻼع دﻗﯿﻖ ﻧﺤﻮه اﺳﺘﻔﺎده از ﯾﮏ ﭘﮑﯿﺞ ﯾﺎ ﻣﺎژول ﺑﺎﯾﺪ ﺑﻪ ﺳﺎﯾﺖ pypi.orgو ﺻﻔﺤﻪ آن ﭘﮑﯿﺞ ﻣﺮاﺟﻌﻪ ﮐﺮد و اﻃﻼﻋﺎت آن را ﻣﻄﺎﻟﻌﻪ و ﺗﺴﺖ ﮐﺮد. •
Tkinter Designer & deep-translator PYTHON PACKAGE MANAGER Part 4
ﺑﺮای ﻣﺜﺎل ﺑﻪ ﮐﻤﮏ ﻣﺎژول ﻫﺎی ﻣﻌﺮﻓﯽ ﺷﺪه ﻗﺒﻠﯽ و ﺗﺮﮐﯿﺐ آﻧﻬﺎ ﺑﺎ ﯾﮑﺪﯾﮕﺮ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻣﺘﺮﺟﻢ دﻗﯿﻖ ﺑﺎ ﻣﺎژول deep-translatorو Tkinter-Designerﺳﺎﺧﺘﻪ ﺷﺪه اﺳﺖ. •
ﻣﺒﺤﺚ راﺑﻂ ﮔﺮاﻓﯿﮑﯽ ) (GUIدر ﭘﺎﯾﺘﻮن در دوره ﭘﯿﺸﺮﻓﺘﻪ ﺑﺮرﺳﯽ ﺧﻮاﻫﺪ ﺷﺪ. •
ﻟﯿﻨﮏ ﮐﺪ ﻣﻨﺒﻊ اﯾﻦ ﭘﺮوژه و ﭘﺮوژه ﻫﺎی دﯾﮕﺮ ﺑﺮ روی ﮔﯿﺖ ﻫﺎب https://github.com/amirkho-py
try and except statement EXCEPTION HANDLING Part 1
ﻫﻨﮕﺎﻣﯽ ﮐﻪ در ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﭘﺎﯾﺘﻮن ﺧﻄﺎﯾﯽ رخ ﻣﯿﺪﻫﺪ ﺑﺮﻧﺎﻣﻪ ﻣﺘﻮﻗﻒ ﻣﯿﺸﻮد و ﭘﯿﺎم ﺧﻄﺎ را ﺑﻪ ﻣﺎ ﻧﺸﺎن ﻣﯿﺪﻫﺪ .ﺑﻪ اﯾﻦ ﮔﻮﻧﻪ ﺧﻄﺎ ﻫﺎ اﺳﺘﺜﻨﺎء ﻣﯿﮕﻮﯾﻨﺪ. •
(1در ﺑﻠﻮک tryﺑﺮﻧﺎﻣﻪ ﺗﻼش ﻣﯿﮑﻨﺪ ﻣﻘﺪار ﻣﺘﻐﯿﯿﺮ xرا ﻧﻤﺎﯾﺶ دﻫﺪ.
(2ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻦ ﻣﺘﻐﯿﯿﺮ xوﺟﻮد ﻧﺪارد ﻗﺎﻋﺪﺗﺎ ﺑﺎﯾﺪ ﺑﺎ ﺧﻄﺎی x is not definedﻣﻮاﺟﻪ ﺷﻮﯾﻢ!
(3اﻣﺎ اﯾﻦ اﺗﻔﺎق رخ ﻧﺨﻮاﻫﺪ داد ﭼﻮن در ﺑﻼک exceptاﺳﺘﺜﻨﺎء ﺧﻮدﻣﺎن را ﺗﻌﺮﯾﻒ ﮐﺮده و در ﺻﻮرت ﺧﻄﺎ آن اﺟﺮا ﺧﻮاﻫﺪ ﺷﺪ.
(4از ﻋﺒﺎرت elseﻧﯿﺰ ﻣﯿﺘﻮان اﺳﺘﻔﺎده ﮐﺮد و در ﺻﻮرﺗﯽ ﮐﻪ ﺑﻼک exceptاﺟﺮا ﻧﺸﻮد ﯾﻌﻨﯽ ﺑﻼک try
(1در ﺧﻂ اول و دوم دو ﻣﺎژول deep-translatorو text_to_speechرا ﻧﺼﺐ و ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﮐﺮده اﯾﻢ.
(3ﺳﭙﺲ در ﺧﻂ ﻫﺸﺘﻢ درون ﯾﮏ ﻣﺘﻐﯿﯿﺮ از ﻣﺘﺪ ﻫﺎی ﻣﺎژول ﺗﺮﺟﻤﻪ ﺑﺮای ﺗﺮﺟﻤﻪ ورودی ﺑﻪ زﺑﺎن ﻣﻘﺼﺪ
(5ﺳﭙﺲ در ﺧﻂ ﯾﺎزدﻫﻢ ﮔﻔﺘﯿﻢ ﺗﻼش ﮐﻦ ﮐﻪ ﻣﻘﺪار ﻧﻬﺎﯾﯽ ﺗﺮﺟﻤﻪ ﺷﺪه را ﺑﻪ ﺻﻮت ﺗﺒﺪﯾﻞ ﮐﻨﯽ.
(8در ﺻﻮرﺗﯽ ﮐﻪ ﺧﻄﺎﯾﯽ در ﻫﻨﮕﺎم ﺗﺒﺪﯾﻞ ﻣﺘﻦ ﺑﻪ ﺻﺪا رخ دﻫﺪ اﺳﺘﺜﻨﺎء ﻣﺎ اﺟﺮا ﺧﻮاﻫﺪ ﺷﺪ
(9در ﻧﻬﺎی ﺧﻂ ﻫﻔﺪﻫﻢ ﺗﺎﺑﻌﯽ ﮐﻪ ﺳﺎﺧﺘﯿﻢ را ﺻﺪا زدﯾﻢ و ﺑﻪ آن ورودی ﻣﺘﻦ و زﺑﺎن ﻣﻘﺼﺪ را داده اﯾﻢ.
finally and raise in exceptions EXCEPTION HANDLING Part 3
ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرت finallyﻣﯿﺘﻮان ﺗﻌﺮﯾﻒ ﮐﺮد ﮐﻪ در اﻧﺘﻬﺎی ﻣﺪﯾﺮﯾﺖ اﺳﺘﺜﻨﺎء ﭼﻪ ﮐﺎری اﻧﺠﺎم ﺷﻮد. •
اﯾﻦ ﻋﺒﺎرت ﮐﺎری ﺑﻪ رﺧﺪاد ﺧﻄﺎ ﻧﺪارد و ﻧﻬﺎﯾﺘﺎ اﺟﺮا ﺧﻮاﻫﺪ ﺷﺪ. •
ﻫﻤﭽﻨﯿﻦ ﻣﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﻣﻄﺎﺑﻖ ﯾﮏ ﺷﺮاﯾﻂ ﺧﺎص ﯾﮏ اﺳﺘﺜﻨﺎء ﺧﺎص ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ. •
ﻧﺤﻮه ﺗﻌﺮﯾﻒ ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرت raiseﺳﭙﺲ ﻋﻨﻮان و ﭘﯿﺎم ﺧﻄﺎ ﺑﻪ ﺷﮑﻞ ﻣﻘﺎﺑﻞ اﺳﺖ. •
در ﻗﻄﻌﻪ ﮐﺪ ﻣﻘﺎﺑﻞ ﺗﻌﺮﯾﻒ ﮐﺮده اﯾﻢ در ﺻﻮرﺗﯽ ﮐﻪ ﻧﻮع ﻣﻘﺪار xﻋﺪد ﺻﺤﯿﺢ ﻧﺒﻮد ﺧﻄﺎی TypeErrorرا اﺟﺮا ﮐﻦ. •
Files PYTHON FILE I/O Part 1
ﻓﺎﯾﻞ ﻫﺎ ﻣﮑﺎن ﻫﺎﯾﯽ روی دﯾﺴﮏ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﺮای ذﺧﯿﺮه اﻃﻼﻋﺎت ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ ﻧﺎﻣﮕﺬاری و اﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ. •
آﻧﻬﺎ ﺑﺮای ذﺧﯿﺮه داﺋﻤﯽ داده ﻫﺎ در ﯾﮏ ﺣﺎﻓﻈﻪ ﻏﯿﺮ ﻓﺮار )ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻫﺎرد دﯾﺴﮏ( اﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ) .ﺧﻼف ﻧﺤﻮه ﻋﻤﻠﮑﺮد ﻣﺘﻐﯿﯿﺮ( •
از آﻧﺠﺎﯾﯽ ﮐﻪ ﺣﺎﻓﻈﻪ دﺳﺘﺮﺳﯽ ﺗﺼﺎدﻓﯽ ) (RAMﻓﺮار اﺳﺖ داده ﻫﺎی ﺧﻮد را ﺑﺎ ﺧﺎﻣﻮش ﮐﺮدن راﯾﺎﻧﻪ از دﺳﺖ ﻣﯽ دﻫﺪ ،ﻣﺎ از ﻓﺎﯾﻞ ﻫﺎ ﺑﺮای اﺳﺘﻔﺎده در آﯾﻨﺪه از داده ﻫﺎ ﺑﺎ ذﺧﯿﺮه داﺋﻤﯽ آﻧﻬﺎ •
اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢ.
وﻗﺘﯽ ﻣﯽ ﺧﻮاﻫﯿﻢ از ﻓﺎﯾﻠﯽ ﺑﺨﻮاﻧﯿﻢ ﯾﺎ روی آن ﺑﻨﻮﯾﺴﯿﻢ)ﻫﺮ ﻧﻮع ﻓﺎﯾﻠﯽ( ،اﺑﺘﺪا ﺑﺎﯾﺪ آن را ﺑﺎز ﮐﻨﯿﻢ .وﻗﺘﯽ ﮐﺎرﻣﺎن ﺗﻤﺎم ﺷﺪ ،ﺑﺎﯾﺪ ﺑﺴﺘﻪ ﺷﻮد ﺗﺎ ﻣﻨﺎﺑﻌﯽ ﮐﻪ ﺑﺎ ﻓﺎﯾﻞ ﻣﺮﺗﺒﻂ ﻫﺴﺘﻨﺪ آزاد ﺷﻮﻧﺪ. •
ﺑﻨﺎﺑﺮاﯾﻦ ،در ﭘﺎﯾﺘﻮن ،ﻋﻤﻠﯿﺎت ﻓﺎﯾﻞ ﺑﻪ ﺗﺮﺗﯿﺐ زﯾﺮ اﻧﺠﺎم ﻣﯽ ﺷﻮد: •
(3ﺑﺴﺘﻦ ﻓﺎﯾﻞ
Opening Files PYTHON FILE I/O Part 2
در ﭘﺎﯾﺘﻮن ﺑﻪ روش ﻫﺎی ﻣﺨﺘﻠﻔﯽ ﻣﯿﺘﻮان ﻓﺎﯾﻞ ﻫﺎ را ﺑﺎز ﮐﺮد. •
در اﯾﻦ ﻣﺒﺤﺚ ﻣﺎ ﺑﺎ ﻓﺎﯾﻞ ﻫﺎ ﺳﺎده txtﮐﺎر ﺧﻮاﻫﯿﻢ ﮐﺮد و روی آن ﻫﺎ ﯾﮑﺴﺮی ﭘﺮدازش و ذﺧﯿﺮه اﻃﻼﻋﺎت را اﻧﺠﺎم ﻣﯿﺪﻫﯿﻢ. •
ﻣﯿﺘﻮان ﻫﺮ ﻧﻮع ﻓﺎﯾﻠﯽ را در ﭘﺎﯾﺘﻮن اﺳﺘﻔﺎده و ﭘﺮدازش و ...ﮐﺮد و اﻏﻠﺐ ﻧﯿﺎز ﺑﻪ ﻧﺼﺐ ﻣﺎژول ﻫﺎی ﺧﺎﺻﯽ اﺳﺖ ﺑﺮای ﻣﺜﺎل ﺑﺮای ﮐﺎر ﺑﺮ روی ﺗﺼﺎوﯾﺮ و وﯾﺪﯾﻮ ﻫﺎ از openCVاﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﻢ. •
ﻫﻨﮕﺎم ﺑﺎز ﮐﺮدن ﯾﮏ ﻓﺎﯾﻞ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺣﺎﻟﺖ را ﻣﺸﺨﺺ ﮐﻨﯿﻢ .در ﺣﺎﻟﺖ ﻣﺸﺨﺺ ﻣﯽ ﮐﻨﯿﻢ ﮐﻪ ﺑﺨﻮاﻫﯿﻢ ﺻﺮﻓﺎ آن را ﺑﺨﻮاﻧﯿﻢ ،ﺑﻨﻮﯾﺴﯿﻢ ﯾﺎ... •
ﻫﻤﭽﻨﯿﻦ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺗﻌﯿﯿﻦ ﮐﻨﯿﻢ ﮐﻪ آﯾﺎ ﻣﯽ ﺧﻮاﻫﯿﻢ ﻓﺎﯾﻞ را در ﺣﺎﻟﺖ ﻣﺘﻨﯽ ﯾﺎ ﺑﺎﯾﻨﺮی ﺑﺎز ﮐﻨﯿﻢ. •
ﭘﯿﺶ ﻓﺮض ﺧﻮاﻧﺪن در ﺣﺎﻟﺖ ﻣﺘﻦ اﺳﺖ .در اﯾﻦ ﺣﺎﻟﺖ ،ﻫﻨﮕﺎم ﺧﻮاﻧﺪن از ﻓﺎﯾﻞ ،رﺷﺘﻪ ﻫﺎﯾﯽ درﯾﺎﻓﺖ ﻣﯽ ﮐﻨﯿﻢ. •
از ﺳﻮی دﯾﮕﺮ ،ﺣﺎﻟﺖ ﺑﺎﯾﻨﺮی ﺑﺎﯾﺖﻫﺎ را ﺑﺮﻣﯽﮔﺮداﻧﺪ و اﯾﻦ ﺣﺎﻟﺘﯽ اﺳﺖ ﮐﻪ ﺑﺎﯾﺪ ﻫﻨﮕﺎم ﮐﺎر ﺑﺎ ﻓﺎﯾﻞﻫﺎی ﻏﯿﺮ ﻣﺘﻨﯽ ﻣﺎﻧﻨﺪ ﺗﺼﺎوﯾﺮ ﯾﺎ ﻓﺎﯾﻞﻫﺎی اﺟﺮاﯾﯽ اﺳﺘﻔﺎده ﺷﻮد. •
Opening File Modes PYTHON FILE I/O Part 3
در ﻫﻤﺎن ﺗﺎﺑﻊ )( openﻣﯿﺘﻮان ﺑﻪ ﻋﻨﻮان ﭘﺎراﻣﺘﺮ دوم ﻣﺸﺨﺺ ﻧﻤﻮد در ﭼﻪ ﺣﺎﻟﯽ ﻓﺎﯾﻞ ﺑﺎز ﺷﻮد. •
اﻧﻮاع ﺣﺎﻟﺖ ﻫﺎی ﺑﺎز ﮐﺮدن ﻓﺎﯾﻞ ﺑﻪ ﺷﺮح ﺟﺪول زﯾﺮ اﺳﺖ: •
Mode Description
r ﺑﺎز ﮐﺮدن ﻓﺎﯾﻞ در ﺣﺎﻟﺖ ﺧﻮاﻧﺪن )اﯾﻦ ﺣﺎﻟﺖ ﺑﻪ ﺻﻮرت ﭘﯿﺸﻔﺮض ﻓﻌﺎل اﺳﺖ و ﻧﯿﺎز ﺑﻪ ﺗﻨﻈﯿﻢ ﻧﺪارد(
w ﻓﺎﯾﻠﯽ را ﺑﺮای ﻧﻮﺷﺘﻦ ﺑﺎز ﻣﯽ ﮐﻨﺪ .اﮔﺮ ﻓﺎﯾﻞ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ،ﻓﺎﯾﻞ ﺟﺪﯾﺪی اﯾﺠﺎد ﻣﯿﮑﻨﺪ.
x ﻓﺎﯾﻠﯽ را ﺑﺮای اﯾﺠﺎد اﻧﺤﺼﺎری ﺑﺎز ﻣﯽ ﮐﻨﺪ .اﮔﺮ ﻓﺎﯾﻞ از ﻗﺒﻞ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻋﻤﻠﯿﺎت ﺑﺎ ﺷﮑﺴﺖ ﻣﻮاﺟﻪ ﻣﯽ ﺷﻮد.
a ﻓﺎﯾﻠﯽ را ﺑﺮای اﻓﺰودن در اﻧﺘﻬﺎی ﻓﺎﯾﻞ ﺑﺪون ﮐﻮﺗﺎه ﮐﺮدن آن ﺑﺎز ﻣﯽ ﮐﻨﺪ .اﮔﺮ ﻓﺎﯾﻞ ﺟﺪﯾﺪی وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ،اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ.
ﺑﺮﺧﻼف ﺳﺎﯾﺮ زﺑﺎنﻫﺎ ،ﮐﺎراﮐﺘﺮ aﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از ) (ASCIIﯾﺎ دﯾﮕﺮ رﻣﺰﮔﺬاریﻫﺎی ﻣﻌﺎدل ﮐﺪﮔﺬاری ﻧﺸﻮد ،ﺑﻪ ﻋﺪد 97دﻻﻟﺖ ﻧﻤﯽﮐﻨﺪ. •
ﻋﻼوه ﺑﺮ اﯾﻦ ،رﻣﺰﮔﺬاری ﭘﯿﺶﻓﺮض واﺑﺴﺘﻪ ﺑﻪ ﭘﻠﺘﻔﺮم اﺳﺖ .در وﯾﻨﺪوز ) (cp1252اﻣﺎ در ﻟﯿﻨﻮﮐﺲ ) (utf-8اﺳﺖ. •
ﺑﻨﺎﺑﺮاﯾﻦ ،ﻣﺎ ﻫﻤﭽﻨﯿﻦ ﻧﺒﺎﯾﺪ ﺑﻪ رﻣﺰﮔﺬاری ﭘﯿﺶ ﻓﺮض ﺗﮑﯿﻪ ﮐﻨﯿﻢ ،در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﮐﺪ ﻣﺎ در ﭘﻠﺘﻔﺮم ﻫﺎی ﻣﺨﺘﻠﻒ رﻓﺘﺎر ﻣﺘﻔﺎوﺗﯽ ﺧﻮاﻫﺪ داﺷﺖ. •
از اﯾﻦ رو ،ﻫﻨﮕﺎم ﮐﺎر ﺑﺎ ﻓﺎﯾﻞ ﻫﺎ در ﺣﺎﻟﺖ ﻣﺘﻨﯽ ،ﺑﻪ ﺷﺪت ﺗﻮﺻﯿﻪ ﻣﯽ ﺷﻮد ﮐﻪ ﻧﻮع رﻣﺰﻧﮕﺎری را ﻣﺸﺨﺺ ﮐﻨﯿﺪ. •
ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن ﻧﻮع رﻣﺰﻧﮕﺎری از ﭘﺎراﻣﺘﺮ encodingدر ﺗﺎﺑﻊ openاﺳﺘﻔﺎده ﻣﯿﺸﻮد. •
Closing Files PYTHON FILE I/O Part 5
ﭘﺲ از اﺗﻤﺎم ﻋﻤﻠﯿﺎت روی ﻓﺎﯾﻞ ،ﺑﺎﯾﺪ ﻓﺎﯾﻞ را ﺑﻪ درﺳﺘﯽ ﺑﺒﻨﺪﯾﻢ. •
ﺑﺴﺘﻦ ﯾﮏ ﻓﺎﯾﻞ ،ﻣﻨﺎﺑﻊ ﻣﺮﺗﺒﻂ ﺑﺎ ﻓﺎﯾﻞ را آزاد ﻣﯽ ﮐﻨﺪ .اﯾﻦ ﮐﺎر ﺑﺎ اﺳﺘﻔﺎده از ﻣﺘﺪ ) (closeﻣﻮﺟﻮد در ﭘﺎﯾﺘﻮن اﻧﺠﺎم ﻣﯽ ﺷﻮد. •
اﯾﻦ روش ﮐﺎﻣﻼ ً اﯾﻤﻦ ﻧﯿﺴﺖ .اﮔﺮ زﻣﺎﻧﯽ ﮐﻪ ﻣﺎ در ﺣﺎل اﻧﺠﺎم ﻋﻤﻠﯿﺎﺗﯽ ﺑﺎ ﻓﺎﯾﻞ ﻫﺴﺘﯿﻢ ،اﺳﺘﺜﻨﺎ رخ دﻫﺪ ،ﮐﺪ ﺑﺪون ﺑﺴﺘﻦ ﻓﺎﯾﻞ ﺧﺎرج ﻣﯽ ﺷﻮد. •
ﯾﮏ راه اﻣﻦ ﺗﺮ ،اﺳﺘﻔﺎده از ﯾﮏ tryو finallyو در ﻧﻬﺎﯾﺖ ﻣﺴﺪود ﮐﺮدن اﺳﺖ. •
ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ،ﻣﺎ ﺗﻀﻤﯿﻦ ﻣﯽﮐﻨﯿﻢ ﮐﻪ ﻓﺎﯾﻞ ﺑﻪ درﺳﺘﯽ ﺑﺴﺘﻪ ﺷﺪه اﺳﺖ ،ﺣﺘﯽ اﮔﺮ اﺳﺘﺜﻨﺎﯾﯽ اﯾﺠﺎد ﺷﻮد ﮐﻪ ﺑﺎﻋﺚ ﺗﻮﻗﻒ ﺟﺮﯾﺎن ﺑﺮﻧﺎﻣﻪ ﺷﻮد. •
ﺑﻬﺘﺮﯾﻦ راه ﺑﺮای ﺑﺴﺘﻦ ﻓﺎﯾﻞ اﺳﺘﻔﺎده از ﻋﺒﺎرت withاﺳﺖ .اﯾﻦ ﺗﻀﻤﯿﻦ ﻣﯽ ﮐﻨﺪ ﮐﻪ ﻓﺎﯾﻞ ﻫﻨﮕﺎم ﺧﺮوج از ﺑﻠﻮک داﺧﻞ دﺳﺘﻮر withﺑﺴﺘﻪ ﻣﯽ ﺷﻮد. •
ﻣﺎ ﻧﯿﺎزی ﺑﻪ ﻓﺮاﺧﻮاﻧﯽ ﺻﺮﯾﺢ ﻣﺘﺪ )( closeﻧﺪارﯾﻢ .ﺑﻪ ﺻﻮرت داﺧﻠﯽ اﻧﺠﺎم ﻣﯽ ﺷﻮد. •
Reding Files PYTHON FILE I/O Part 6
ﺑﺮای ﺧﻮاﻧﺪن ﯾﮏ ﻓﺎﯾﻞ در ﭘﺎﯾﺘﻮن ،ﺑﺎﯾﺪ ﻓﺎﯾﻞ را در ﺣﺎﻟﺖ ﺧﻮاﻧﺪن rﺑﺎز ﮐﻨﯿﻢ. •
ﺑﺮای اﯾﻦ ﻣﻨﻈﻮر روش ﻫﺎی ﻣﺨﺘﻠﻔﯽ وﺟﻮد دارد .ﻣﺎ ﻣﯽ ﺗﻮاﻧﯿﻢ از روش ) read(sizeﺑﺮای ﺧﻮاﻧﺪن ﺗﻌﺪاد اﻧﺪازه داده ﻫﺎ اﺳﺘﻔﺎده ﮐﻨﯿﻢ. •
اﮔﺮ ﭘﺎراﻣﺘﺮ اﻧﺪازه ﻣﺸﺨﺺ ﻧﺸﺪه ﺑﺎﺷﺪ ،آن را ﺧﻮاﻧﺪه و ﺗﺎ اﻧﺘﻬﺎی ﻓﺎﯾﻞ ﺑﺮﻣﯽﮔﺮداﻧﺪ. •
ﻓﺎﯾﻞ text.txtﮐﻪ آن را ﺑﺎز ﮐﺮده اﯾﻢ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺑﻪ ﺻﻮرت زﯾﺮ ﺑﺨﻮاﻧﯿﻢ: •
Writing in Files PYTHON FILE I/O Part 7
ﺑﺮای ﻧﻮﺷﺘﻦ در ﯾﮏ ﻓﺎﯾﻞ در ﭘﺎﯾﺘﻮن ،ﺑﺎﯾﺪ آن را در ﺣﺎﻟﺖ wﯾﺎ xﯾﺎ aﺑﺎز ﮐﻨﯿﻢ. •
ﺑﺎﯾﺪ ﻣﺮاﻗﺐ ﺣﺎﻟﺖ wﺑﺎﺷﯿﻢ ،زﯾﺮا اﮔﺮ از ﻗﺒﻞ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ در ﻓﺎﯾﻞ ﺑﺎزﻧﻮﯾﺴﯽ ﻣﯽ ﺷﻮد .ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﺗﻤﺎم داده ﻫﺎی ﻗﺒﻠﯽ ﭘﺎک ﻣﯽ ﺷﻮﻧﺪ. •
اﯾﻦ ﺑﺮﻧﺎﻣﻪ در ﺻﻮرت ﻋﺪم وﺟﻮد ﻓﺎﯾﻞ ﺟﺪﯾﺪی ﺑﻪ ﻧﺎم test.txtدر داﯾﺮﮐﺘﻮری ﻓﻌﻠﯽ اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ .اﮔﺮ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﺎزﻧﻮﯾﺴﯽ ﻣﯽ ﺷﻮد. •
ﻫﻤﭽﻨﯿﻦ ﻣﺎ ﺑﺎﯾﺪ ﺧﻮد ﮐﺎراﮐﺘﺮﻫﺎی ﺧﻂ ﺟﺪﯾﺪ را وارد ﮐﻨﯿﻢ ﺗﺎ ﺧﻄﻮط ﻣﺨﺘﻠﻒ را ﺗﺸﺨﯿﺺ دﻫﯿﻢ. •
ﭘﺮوژه ذﺧﯿﺮه ﻣﺨﺎﻃﺐ در ﻓﺎﯾﻞ txt
PYTHON FILE I/O Part 8
(2ﺳﭙﺲ ﯾﮏ دﯾﮑﺸﻨﺮی ﺑﺮای ذﺧﯿﺮه اﻃﻼﻋﺎت ﺑﻪ ﺻﻮرت key:valueاﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ ﭼﻮن ﻧﯿﺎز ﺑﻪ ذﺧﯿﺮه ﻧﺎم و ﺷﻤﺎره ﺗﻠﻔﻦ دارﯾﻢ.
(4در ﻫﺮ ﺑﺎر اﺟﺮای ﺣﻠﻘﻪ ﻧﺎم و ﺷﻤﺎره ﺗﻠﻔﻦ را ﻣﯿﮕﯿﺮﯾﻢ و ﻧﺎم را ﺑﻪ ﻋﻨﻮان ﮐﻠﯿﺪ و ﺷﻤﺎره ﺗﻠﻔﻦ را ﺑﻪ ﻋﻨﻮان ﻣﻘﺪار ذﺧﯿﺮه ﻣﯿﮑﻨﯿﻢ.
(5ﺣﺎﻻ ﺑﻪ ﮐﻤﮏ ﻋﺒﺎرت withو ﺗﺎﺑﻊ openﯾﮏ ﻓﺎﯾﻞ txtﺑﺎز ﯾﺎ اﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ ﺑﺎ ﺣﺎﻟﺖ append
(6در ﺑﺨﺶ ﻋﻤﻠﯿﺎﺗﯽ ﻓﺎﯾﻞ ﯾﮏ ﺣﻠﻘﻪ در ﮐﻠﯿﺪ ﻫﺎی دﯾﮑﺸﻨﺮی ﻣﯿﺰﻧﯿﻢ .
(7ﺑﻪ ﮐﻤﮏ ﻣﺘﺪ writeدر ﻫﺮ ﺧﻂ از ﻓﺎﯾﻞ txtﻧﺎم ﻣﺨﺎﻃﺐ ﮐﻪ ﻫﻤﺎن ﮐﻠﯿﺪ در دﯾﮑﺸﻨﺮی اﺳﺖ و ﺳﭙﺲ ﻋﻼﻣﺖ دو ﻧﻘﻄﻪ :و ﻣﻘﺪار ﮐﻠﯿﺪ
(8را ﮐﻪ ﺷﻤﺎره ﺗﻠﻔﻦ اﺳﺖ و ﯾﮏ ﮐﺎراﮐﺘﺮ ﻓﺮار \nﺑﺮای اﯾﺠﺎد ﺧﻂ ﺟﺪﯾﺪ ﻣﯿﻨﻮﯾﺴﯿﻢ.
(9ﭘﺎﯾﺎن.
ﭘﺮوژه ذﺧﯿﺮه ﻣﺨﺎﻃﺐ در ﻓﺎﯾﻞ txt
PYTHON FILE I/O Part 9