கணினிகள், நிரலாக்க
பைதான் நிரலாக்க மொழி: சுழல்கள்
பைதான் நிரலாக்க மொழி ( "பைதான்" அல்லது "பைதான்" போன்று) அங்கு சில நடவடிக்கை லூப் பல வழிகள் உள்ளன. பைதான் எந்த ஹீரோக்களின் செயல்படுத்த முக்கிய கருவிகள் - சுழல்கள் போது பயன்படுத்த இயலும். போது லூப் விட உலகளாவிய உள்ளது, எனவே அது மெதுவானது. எனினும், இந்த அது சிறந்தது என்று அர்த்தம் இல்லை! படிநிலை மற்றும் mnogouslovnyh திட்டங்களை உருவாக்கி மிகவும் கடினமான பணிகளை உணர்ந்ததாகப் ஏனென்றால் லூப், அடிக்கடி பயன்படுத்தப்படுகிறது.
பைதான்: postcondition கொண்டு சுழற்சி
postcondition கொண்டு சுழற்சிகள் - அது சுழல்கள் போது மிகவும் உலகளாவிய நிறுவன கட்டமைப்புக்கள் இவை நிரலாக்க சூழல். போது லூப் "என நீண்ட" கொள்கை இயக்கப்படுகிறது. இதனை கீழ்கண்ட பொருள்: ஒரு குறிப்பிட்ட நிலையில் ஒரு உண்மையான மதிப்பை திரும்ப வருவேன் போது, அது வேலை செய்யும்! இந்த வடிவமைப்பு ஒரு "சுழற்சி" என்று அழைக்கப்படுகிறது ஏனெனில் வைத்திருக்கவும் துவக்க மதிப்பு தொடங்கி, மீண்டும் செயல்பாட்டு மேலாண்மை. சுழற்சியில் அவுட் பைதான் நேரத்தில் செயல்படுத்தப்படும் போது மதிப்பு ஆகிறது தவறான போது. இந்த கட்டத்தில், மொழிப்பெயர்ப்பாளர் postcondition போது உடன் தொகுதி பிறகு அமைந்துள்ள ஒரு புதிய வரி, அதாவது, பின்வரும் செயல்பாட்டு பொருள் பிரிவில் திட்டத்தை கடத்துகிறது.
நிரலாக்க மொழியில் பைதான் சுழற்சிகள் postcondition பின்வரும் தொடரியல் கொண்டிருக்கின்றன:
1. போது (நிலை): 2. வெளிப்பாடு |
எக்ஸ்பிரஷன் தனித்த வாக்கியத்தை அல்லது அதற்கு மேற்பட்ட இருக்கலாம். நிபந்தனை எப்போதும் எந்த அல்லாத பூஜ்ஜியமாக ஒரு உண்மையான முக்கியத்துவம் ஆகும். இந்த வடிவமைப்பு குறிப்பிட்ட நிபந்தனை உண்மையாக என நீண்ட வேலை.
உதாரணமாக "பைதான்" போது சுழற்சி பயன்படுத்தி
லூப் போது Rassmotirim. பைதான் மிகவும் சுவாரஸ்யமான கட்டமைப்புகள் அதன் இடரேட்டிவ்களால் உள்ளது:
ஒரு = 0 |
நாம் அறிவித்தார் மாறி "ஒரு" பூச்சியமாக அவளை கேட்டுள்ளனர். பின்னர் நிலைமைகள் அமைக்க "ஒரு <7 ஐ பயணத்தின்போது", அதாவது, மாறி "ஒரு" குறைவாக இருக்கும் போது எண் "7", பின்னர் எங்கள் loop போன்ற நீண்ட போலியான உள்ளது இயக்கப்படும்.
ஒரு தவறான மாறி எண் "7" விட அதிகமாக இருக்கும் போது அது இருக்கும் (அதாவது, சுழற்சி இருந்து வெளியேற்றப்படுவீர்கள் உள்ளது). இந்த நடக்கும், அதை வழி நடத்தும் நாம் "ஒரு = a + 1" ஆகியவற்றைக் குறிப்பதாக என்று, 1 அதிகப் புள்ளி ஒவ்வொரு முறையும்.
இந்த கட்டமைப்பு, கடிதம் ரன் என்றால் "ஏ" ஒரு பத்தியில் 7 முறை காட்டப்படும்!
ஒரு |
முடிவற்ற லூப் பைதான் போது
போது எப்படி பைதான் ஒரு முடிவற்ற லூப் செய்ய? சுழற்சி அது ஒரு தவறான மதிப்பு பெறுகிறது வரை வரை இயங்கும், இந்த மதிப்பு அங்கு வெறுமனே இல்லை என்றால் ஏனெனில் கடினம் அல்ல கெஸ்? கேள்விக்கு பதில் ஒருவேளை ஏற்கனவே எல்லாம் தெளிவாக உள்ளது தானாகவே அடங்கிவிட்டது. சில சந்தர்ப்பங்களில், ஒரு முடிவிலா சுழற்சியில் ஒரு பிரச்சினையைத் தீர்க்க தேவை? இந்த உதாரணம் ஒரு, இது போன்ற ஒரு திட்டத்தின் ஒரு உணர்தல் பணிபுரிவேன் "கடிகாரம்." இங்கே, நிச்சயமாக, நீங்கள் எந்த நிரந்தரமாக புதுப்பிக்கப்படும் ஒரு முடிவிலா சுழற்சியில், பயன்படுத்த மற்றும் நேரம் காட்ட வேண்டும்.
முடிவிலா சுழற்சியில் பெரும்பாலும் ஒரு மாற்றம் சுழற்சி நிலைகளைச் சேர்க்க மறக்க யார் தவறு புதிய புரோகிராமர்கள் உள்ளது.
ன் பைதான் குறியீடு பின்வரும் துண்டு பாருங்கள் அழைத்து செல்லலாம். காலவரையின்றி மீண்டும் மீண்டும் இந்த வழக்கில் சுழற்சிகள் ( "#" கதாபாத்திரத்தின் நினைவாக ஒரு கருத்து உள்ளது):
எண் = 1 # ஒரு மாறி எண் அறிவிக்க மற்றும் அது 1 ஒரு மதிப்பு ஒதுக்க எண்ணிக்கையைத் <10 போது: # 10 க்கும் குறைவான எண்ணிக்கை எந்த postcondition உருவாக்க அச்சு 'ஹலோ' # நிலை (அச்சு «ஹலோ» செய்தி) |
அது காலவரையின்றி ரன் ஏனெனில் இத்தகைய வேலைத்திட்டம் தொகுக்கலாம் விரைந்து கூடாது. ஹலோ "செய்திகளை" என்று ஹீரோக்களின் தொடர்ந்து n-வது எண் கொண்டு இருக்கும், இந்த விஷயத்தில் எப்போதும் உண்மை "நாம் தவறான மதிப்புகள் நிலையில்« எண் <10 மாட்டீர்கள் என்று இதுபோன்ற நிலைகளை கேட்டார். நித்திய ஒடுக்குவதற்கான நடவடிக்கையில் நிறுத்த பொருட்டு, நீங்கள் ஷெல் முக்கிய சேர்க்கையை Ctrl + C ஐ அழுத்தவும் வேண்டும்.
பைதான்: தொடரியல். போது, மற்றும் சுழல்கள்
மேலே குறிப்பிட்டபடி, "பைதான்" நிரலாக்க மொழியில், ஒரு மீண்டும் குழு வெளிப்பாடுகள் ஏற்பாடு பல வழிகள் உள்ளன. அது மீட்பு வரும் க்கான லூப், அதன் வடிவமைப்பு வெறும் postcondition விட இன்னும் கொஞ்சம் சிக்கலான ஏனெனில், அதன் ஒத்த போது ஒரு பிட் மாறுபட்டது. அது வெறுமனே, எனினும், லூப் சிறிது விட மிகவும் வேகமாக உள்ளது என்பது குறிப்பிடத்தக்கது இல்லை, ஏனெனில் ன் சுழற்சியின் பொதுமை பற்றி பேச வேண்டாம். வழிகளில் பல்வேறு postcondition இந்த சிறிய சிறப்பாக சுழற்சியின் வடிவமைப்பு மற்றும் செயல்திறன் தீர்க்க, அது மிகவும் பல அற்பமான பணிகளை செய்ய பயன்படுத்தும் வாய்ப்பு உள்ளது.
சுழற்சி எதிர்கொள்ளும் சவால்களை யாவை? சந்தேகத்திற்கு இடமின்றி, அதே நேரத்தில் அதே - எந்த செயல்முறைகள் செயல்படுத்துதல். "மலைப்பாம்பு" அன்று நிகழ்ச்சி குறிப்புகள், பரவலாக க்கான லூப், உறுப்புகள் வேண்டுமானாலும் பயணிக்க முன்னரே தீர்மானிக்கப்பட்ட பன்முக செயல்படுத்தும் திறன் மற்றும் அவர்கள் மீது தேடி அதன் பல்வேறு உடலில் செய்ய எந்த பயன்படுத்தப்படுகிறது. இந்த வடிவமைப்பு அம்சங்கள் செயலாக்க கோடுகள் அல்லது வேறு எந்த பொருள் மீண்டும் மீண்டும் போலவே பட்டியல்கள் பயன்படுத்த முடியும்.
பைதான் சுழற்சி பயன்படுத்த உதாரணம்
நாம் எண்கள் சில பட்டியலில் இருக்க, நாம் ஒவ்வொரு உறுப்பு (அதாவது. ஈ எண்) மூன்று அலகுகள் அதிகரித்துள்ளது வேண்டும் என்று வைத்துக்கொள்வோம். லூப் முறைகள், வளையத்தின் வழியாக நாம் அத்தகைய பணி அமல்படுத்த இட்டுச் சென்றுள்ளது.
ன் எங்கே நாம் (பிறகு "#" பாத்திரம் ஒரு கருத்து இருந்தது) நீக்கிவிட்ட பொருத்தமான செயலை ஒரு விரைவான உதாரணமாக நோக்குவோம்:
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] கொண்ட # அறிவித்தார் வரிசை 10 புள்ளிவிவரங்கள் = 0 # பூஜ்யம் உருவாக்கப்பட்டது எதிர் எண்ண spisok_chisel உள்ள உறுப்புகள்: # அணி மீது செயல்படுத்துதல் மற்றும் கூறுகள் அதை எழுத spisok_chisel [எண்ண] = கூறுகளை + # 3 எண்ணிக்கையை அதிகரித்து மூன்று வரிசை எண்ண = எண்ண +1 # குறியீட்டு அடுத்த எண் செல்ல |
மேலே கட்டுமான விளைவாக இருக்கும்:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
நமது எடுத்துக்காட்டில், நாம் வரிசை «spisok_chisel» மாறிக்கொண்டு மதிப்புகள் கொண்டாட தேவையான எந்த ஒரு மாறி எண்ணிக்கை உள்ளது. மாறி எண்ணிக்கை வரிசையில் ஒவ்வொரு உறுப்பு (பட்டியலில் உள்ள ஒவ்வொரு எண்ணிக்கை) ஒரு குறியீட்டு மதிப்பு பதிவு செய்யப்பட்டுள்ளது. மாறி «கூறுகள்» பட்டியலில் விளைவாக மதிப்பு இணைக்கிறது. லூப், நாம் எண் பட்டியலில் உள்ள ஒவ்வொரு பொருளின் செயலாக்கம் எவ்வாறு செயல்படுத்தலாம் என்பதை பார்க்க. லூப் உள்ளே, குறியீட்டு «எண்ணிக்கை» ஒவ்வொரு எண் பொருள் தற்போதைய மீண்டும் மீண்டும் உறுப்பு மற்றும் மூன்று அளவு என்னவென்று. பின்னர் எங்கள் அட்டவணையில் «எண்ண» ஒரு அதிகரித்துள்ளது, மற்றும் நிரல் செயல்படுத்த செல்வதற்கான கட்டமைப்பு விளம்பரங்கள் தொடக்கத்தில் திரும்புகிறார். இவ்வாறு, லூப் ஏனெனில் அது நிலைமையை கொடுத்த வரிசையில் ஒவ்வொரு உறுப்பு, பதப்படுத்தப்பட்ட வரை வரை இயங்கும். எந்த உறுப்பு இல்லை, ஆனால் நிபந்தனையின்படி அமைக்கப்பட்டால், சுழற்சி முடிந்தது. நாம் இன்னும் ஒரு விஷயம் கவனம்: நீங்கள் வெற்றிகரமாக பதப்படுத்தப்பட்ட பொருட்களின் வரிசையாக, விளைவாக எப்போதும் முதல் எண் பொருட் சுட்டு பூஜ்யம் கேட்ச் சேர்க்கப்படும் என்ற உண்மையை போதிலும், = «எண்ணிக்கை ஒரு வரி எழுத வேண்டாம் என்றால் எண்ண +1".
இப்போது நாம் வளைய செயல்படும் கொள்கைகளை போது பற்றி யோசிக்க மற்றும் (postcondition கொண்டு சுழற்சி தருக்க தேர்வளவையின் அடிப்படையில் மேற்கொள்ளப்படுகிறது வெளியே பைதான் உள்ள நினைவு என்று - உண்மை (சுழற்சி தொடர்கிறது) அல்லது தவறான (சுழற்சி நிறுத்தப்படும்)) வேறுபாடு கண்டறியலாம்.
எப்படி வடிவமைப்பு பயன்படுத்தி பைதான் ஒரு சரம் சிகிச்சை?
ஒவ்வொரு புரோகிராமிங் மொழி சுழற்சிகள் தொடரியல் தெரியும் வேறுபாடுகள் உள்ளன, மற்றும், அவர்கள் வழக்கமாக ஒரே தத்துவத்தின் அடிப்படையிலேயே வேலை. எனினும், மொழி "பைதான்" இல் லூப் ஒரு சாதாரண மற்றும் அற்பமான, அதன் செயல்படும் கொள்கை எதிர் மட்டும் நின்றுவிடவில்லை ஏனெனில். இந்த வடிவமைப்பு தனித்தனியாக ஒவ்வொரு பொருளின் எண்ணுகிறது. அனைத்து இந்த எளிதாக சரங்களை வேலை உதாரணம் மூலம் விளக்க முடியும், ஆனால் முதல் வட்டத்தை க்கான கலவை இக்கட்டுரையில் நாம் சிந்திப்போம்
மாறி
அது ஒரு மாறி சுழற்சி செயல்படும் விளைவாக சேமிக்கப்படுகிறது
peremennaya_2 உள்ள
«உள்ள» முக்கிய வார்த்தையாக - அது சுழற்சி «க்கான» பணியாற்றும் போது முற்படு தேவையாக இருக்கிறது. peremennoy_2 இருந்து நாம் மீண்டும் மீண்டும் என்று மதிப்பு இழுக்க. தெளிவு, மற்றும் தெளிவாகச் சொல்வதென்றால், பணியிடம் மற்றும் பைதான் சரங்களை வரிசைப்படுத்த எப்படி ஒரு சிறிய உதாரணத்தை பார்போம்:
எரிப்பதை = 'நிரலாக்க' # ஒரு மாறி அறிவிக்க மற்றும் ஒரு சரம் மதிப்பு ஒதுக்க எரிப்பதை உள்ள ஸ்லாவோ க்கான: #, ஒரு மாறி ஸ்லாவோ உருவாக்கவும் மாறி எரிப்பதை உடைப்பு குறியீடுகள் தொடரும் ஒரு பறவை - அச்சு (ஸ்லாவோ, இறுதியில் = '^') # வெளியீடு ஸ்லாவோ மற்றும் ஒவ்வொரு எழுத்தையும் பிறகு, ஒரு சின்னமாக நுழைக்க. |
ஸ்கிரிப்ட் விளைவாக:
பி ^ ப ^ ஓ ^ ஆர் ^ ஆர் ^ ஒரு ^ மீ ^ மீ ^ ^ மற்றும் ப ^ ஓ ^ ஒரு ^ ஒரு ^ N ^ மற்றும் ^ இ |
அறிக்கை தொடர்ந்து
ஆபரேட்டர் பொருட்படுத்தாமல் சுழற்சியில் சமநிலை, அடுத்த சுழற்சி செயல்படுத்த மாற்றம், நிபந்தனை கொடுத்த செயல்படுத்தி வருகிறார்கள். மற்றும் போது - தொடர வேண்டுமா அறிக்கை இரண்டு சுழற்சியில் இருக்க முடியும் பயன்படுத்தவும்.
இந்த உதாரணத்தைப் கவனியுங்கள்:
எண்ணிக்கை க்கான 'தவிர, ஒவ்வொரு கடிதம் மீண்டும்' எண்ணிக்கை == 'ஓ' என்றால்: தொடர்ந்து அச்சு (எண்ணிக்கை * 2, இறுதியில் = '') |
விளைவாக பின்வரும் இருக்கும்:
Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee |
கையாளரால் சரம் ஒரு கடிதம் "ஓ" காணப்படும் போது திட்டத்தின் மரணதண்டனை உடனடியாக அங்கு நிலையில் ஒவ்வொரு கடிதம் நகல் அமைக்கப்பட்டது வார்த்தை '' தொடர்ந்து '', பிறகு வரி திருப்பி அனுப்பப் படுவதன் மூலம் 'தவிர, ஒவ்வொரு கடிதம் மீண்டும்'.
இடைவெளி அறிக்கை
முக்கிய «இடைவெளி» சுழற்சி நிலையில் வழங்கப்பட்டது அதன் நிறைவு, காத்திருக்காமல் குறிக்கிடப்பட இருக்கிற இடத்திலே செருகிய. தர்க்கம் மற்றும் சூழ்நிலைகள் நிறைய கொண்டு நிரல்கள் எழுதும் போது இந்த வடிவமைப்பு பெரும்பாலும் பயன்படுத்தப்படுகிறது.
வேலை இடைவெளி அறிக்கையின் ஒரு சிறிய உதாரணம் கவனியுங்கள்:
எண்ணிக்கை க்கான 'தவிர, ஒவ்வொரு கடிதம் மீண்டும்' எண்ணிக்கை == 'ஓ' என்றால்: இடைவெளி அச்சு (எண்ணிக்கை * 2, இறுதியில் = '') |
விளைவாக பின்வரும் இருக்கும்:
NN |
கையாளரால் சரம் ஒரு கடிதம் "ஓ" காணப்படும் போது அடுத்த வரி சுழற்சி நிலைகளில் சிலவற்றைக் கொண்டிருக்கிறது என்ற உண்மையை போதிலும், திட்டம் நிறைவேற்றுவது உடனடியாக நிறுத்தப்பட்டது 'ஒவ்வொரு கடிதம் தவிர மீண்டும்'.
வேறு மாய வார்த்தை
எந்த வகையான ஒரு தொடரில் வேறு ஆபரேட்டர் விண்ணப்பிக்க முடியும். அது என்ன உள்ளது? அவர் வட்டத்திற்கு வெளியே உறுதி செய்யப்பட்டுள்ளன என்று காசோலைகளை ஒரு இடைவெளி அல்லது வழக்கமான வழியில் பொருள். நடைமுறைப்படுத்துவதில் முன்னரே தீர்மானிக்கப்பட்ட விதிகளின் தடு வேறு நிலையில் சுழற்சி வெளியீடு இடைவெளி அமைப்பு பயன்பாடு இல்லாமல் நடத்தப்பட்டது என்று மட்டும் ஆரம்பித்துவிடும்.
ஒரு சிறிய உதாரணம் கவனியுங்கள்:
'ஹலோ உலகின் இல் எண்ணிக்கை: என்றால் எண்ணிக்கை == 'நான்': இடைவெளி வேறு: அச்சு (நான் '' 'உங்கள் தண்டனையை எந்த கடிதம் உள்ளது') |
ஸ்கிரிப்ட் வெளியீடு:
உங்கள் தண்டனையை கடிதம் "நான்" அல்ல |
பைதான் நிரலாக்க மொழி தலைகீழ் பொருட்டு சுழற்சிகள் எடுத்துக்காட்டுகள்
பைதான் தலைகீழ் சுழற்சி நடைமுறைப்படுத்தப்பட்ட? கதாபாத்திரம் வரி அங்கீகரிக்க மற்றும் ரிவர்ஸ் பொருட்டு அது அச்சிட வேண்டும் என்று ஒரு திட்டத்தை எழுதி என்று கற்பனை செய்து கொள்வோம். இந்த எப்படி செயல்படுத்த?
கீழே உதாரணத்தைப் கவனியுங்கள்:
ஸ்லாவோ = 'நிரலாக்க' new_slovo = [] வரம்பில் எண்ணிக்கை (லென் (கள்), 0, -1): new_slovo.append (ங்கள் [நான்-1]) new_slovlo [ 'பி', 'ப', 'ஓ', 'கிராம்', 'ப', 'ஒரு', 'மீ', 'மீ', 'u' என்ற, 'ப', 'ஓ', 'ஒரு', ' ஒரு ',' என் ',' u ',' இ '] அச்சு (new_slovo) [ 'பி', 'ப', 'ஓ', 'கிராம்', 'ப', 'ஒரு', 'மீ', 'மீ', 'u' என்ற, 'ப', 'ஓ', 'ஒரு', ' ஒரு ',' என் ',' u ',' இ '] அச்சு ( ''. சேர (new_slovo)) |
ஸ்கிரிப்ட் விளைவாக:
einavorimmargorp |
உள்ளமை சுழல்கள்
பைதான் ஆண்டில், மற்றொரு உடலில் வைக்கப்படுகிறது என்று நிகழ்ச்சிகள் மற்றும் முதலீடுகள், சுழற்சியை உள்ளன. ஒவ்வொரு சுழற்சியின் ஒரு உள்ளமை வளைய இருக்க முடியும், அதனால் அது முடிவிலி ஒரு ஏணி உருவாக்க முடியும். வெளி வட்டத்திற்கு முதல் மறு செய்கை, அதன் சொந்த நிறைவு முன் செயலாற்றியது உள் சுழற்சிக்கு ஒரு அழைப்பு வரையப்பட்டது பின்னர் அனைத்து வெளி சுழற்சியில் உடலில் திருப்பிவிடப்பட்டது கட்டுப்படுத்த. ஒவ்வொரு மொழி உள்ளமை சுழல்கள் அதன் சொந்த குணாதிசயங்கள் உண்டு, கள் அவர்கள் "பைதான்" நிரலாக்க மொழி வேலை எப்படி பார்க்க வேண்டும்.
நீங்கள் உள்ளமை சுழல்கள் பயன்படுத்தினால், பைதான் பின்வரும் தொடரியல் வழங்குகிறது:
மாறிகள் வரிசையில் மாறி: மாறிகள் வரிசையில் மாறி நடவடிக்கை (ங்கள்) நடவடிக்கை (ங்கள்) |
உள்ளமை சுழல்கள் சிறப்பு அம்சங்களையும் எந்த வகை சுழற்சி சுழற்சியின் எந்த வகை பயன்படுத்த முடியும் என்று உண்மை! இந்த ஒரு சுழற்சியில் போது (அல்லது) போது மாறாகவும் மீண்டும் ஒரு சுழற்சியின் பதிக்கப்பட்ட அல்லது முடியும் என்று அர்த்தம்.
Similar articles
Trending Now