មាតិកា[លាក់][បង្ហាញ]
នៅក្នុងមេរៀនចុងក្រោយ យើងបានរៀនអំពីខណៈពេលដែលរង្វិលជុំ និងរបៀបប្រតិបត្តិប្លុកកូដច្រើនដង។
នៅក្នុង Python យើងមានប្រភេទរង្វិលជុំផ្សេងទៀតដូចជា "for loop" និង "nested loop" ។ តោះមើលពីរបៀបដែលពួកគេប្រើ។
សម្រាប់រង្វិលជុំ
យើងប្រើ "សម្រាប់រង្វិលជុំ" ដើម្បីរំលឹកឡើងវិញលើធាតុនៃបណ្តុំ ដូចជាខ្សែអក្សរ។ ដោយសារខ្សែអក្សរគឺជាលំដាប់នៃតួអក្សរ វាមើលទៅដូចជាបណ្តុំ។ ដូច្នេះហើយ យើងអាចប្រើ a for loop ដើម្បីធ្វើម្តងទៀតលើតួអក្សរនីមួយៗក្នុង string ហើយបន្ទាប់មកធ្វើអ្វីមួយជាមួយវា។
នេះជាឧទាហរណ៍។
យើងវាយ "for" អមដោយអថេរ ហើយបន្ទាប់មក ខ្សែអក្សរ។
for item in 'Python':
នៅទីនេះ "ធាតុ" មានន័យថាតួអក្សរនៃពាក្យ Python ។ ក្នុងការធ្វើឡើងវិញលើកទីមួយនៃ "ធាតុ" មានន័យថា 'P' ការធ្វើម្តងទៀតទីពីរមានន័យថា 'y' ជាដើម។ ចូរប្រតិបត្តិការនេះ។
អ្នកអាចមើលឃើញតួអក្សរនីមួយៗនៅក្នុងខ្សែអក្សរនេះត្រូវបានបោះពុម្ពនៅលើបន្ទាត់ថ្មី។
សូមក្រឡេកមើលឧទាហរណ៍មួយទៀត។ នៅក្នុង Python យើងអាចកំណត់បញ្ជីដោយប្រើតង្កៀបការ៉េ។ ដូច្នេះខ្ញុំសូមកំណត់បញ្ជីដោយប្រើតង្កៀបការ៉េ។
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
ឥឡូវនេះវានឹងរាយឈ្មោះទាំងបីនៅលើបន្ទាត់ដាច់ដោយឡែក។
យើងក៏អាចប្រើបញ្ជីលេខនៅក្នុងការកំណត់នេះផងដែរ។ ជំនួសឱ្យការវាយលេខទាំងអស់ពីលេខ 0 ដល់លេខ 9 ខ្ញុំនឹងប្រើមុខងារ “Range” ដើម្បីសម្រួលរឿងផ្សេងៗ។ តោះមើលរបៀបដែលវាត្រូវបានធ្វើ។
for item in range(10):
print(item)
យើងក៏អាចដាក់កម្មវិធីឱ្យចាប់ផ្ដើមមិនមែនជាមួយ 0 ដែរ។
for item in range(5, 10):
វានឹងបោះពុម្ពលេខ 5 ទៅ 9 នៅលើស្ថានីយ។
មុខងារ "ជួរ" ក៏អាចយកជំហានជាការបញ្ចូលផងដែរ។ ដូច្នេះប្រសិនបើយើងសរសេរដូចនេះ៖
for item in range(5, 10, 2):
វានឹងបោះពុម្ព 5, 7 និង 9 ដែលមានន័យថាវាទៅមុខពីរជំហានបន្ទាប់ពីការធ្វើឡើងម្តងទៀត។
ហាត់ប្រាណ
ឥឡូវនេះនេះគឺជាលំហាត់សម្រាប់អ្នក។ ខ្ញុំចង់ឱ្យអ្នកសរសេរកម្មវិធីដើម្បីគណនាតម្លៃសរុបនៃទំនិញទាំងអស់នៅក្នុងរទេះទិញទំនិញ។ ដូច្នេះឧបមាថាយើងមានបញ្ជីតម្លៃដូចជា 10, 20, និង 30 ខ្ញុំចង់ឱ្យអ្នកប្រើរង្វិលជុំដើម្បីគណនាតម្លៃសរុបនៃទំនិញទាំងអស់នៅក្នុងរទេះទិញទំនិញតាមស្រមៃរបស់យើង។
ដាក់ខួរក្បាលរបស់អ្នកឱ្យធ្វើការ ហើយមើលថាតើអ្នកអាចធ្វើបានដែរឬទេ។ គ្មានការបោកប្រាស់ទេ។
ជាដំណោះស្រាយ
អ្នកអាចចាប់ផ្តើមដោយរាយតម្លៃដូចនេះ។
prices = [10, 20, 30]
ឥឡូវនេះបន្ថែមអថេរសម្រាប់តម្លៃសរុបដែលនឹងចាប់ផ្តើមពី 0 សម្រាប់ការធ្វើម្តងទៀតលើកដំបូង។
total = 0
នេះជារបស់យើងសម្រាប់រង្វិលជុំ។
for price in prices:
total = total + price
// វាអាចត្រូវបានធ្វើឱ្យសាមញ្ញដូចជា total += price
print(f"Total: {total}")
រង្វិលជុំ Nested
នៅក្នុង Python ការប្រើប្រាស់ nested loop ជាមូលដ្ឋានមានន័យថាការបន្ថែមរង្វិលជុំមួយនៅខាងក្នុងនៃ loop មួយផ្សេងទៀត ហើយជាមួយនឹងបច្ចេកទេសនេះ យើងអាចធ្វើរឿងដ៏អស្ចារ្យមួយចំនួនបាន។ ជាឧទាហរណ៍ យើងអាចបង្កើតបញ្ជីកូអរដោនេយ៉ាងងាយស្រួល។
កូអរដោណេ ដូចដែលអ្នកដឹងគឺជាការរួមបញ្ចូលគ្នានៃតម្លៃ 'x' និង 'y' ។ ចូរនិយាយថា 0 និង 0។ ឥឡូវនេះ ចូរនិយាយថាអ្នកចង់បង្កើតបញ្ជីកូអរដោនេដូចនេះ។ យើងមាន 0 និង 0 បន្ទាប់មកយើងនឹងមាន 0 និង 1 បន្ទាប់មក 0 និង 2 ។
បន្ទាប់ យើងនឹងផ្លាស់ប្តូរ 'x' ។ យើងនឹងប្រើ 1 សម្រាប់ 'x' ហើយម្តងទៀត យើងនឹងប្រើតម្លៃទាំង 3 នេះសម្រាប់កូអរដោនេ 'y' ។
យើងអាចបង្កើតកូអរដោនេទាំងនេះបានយ៉ាងងាយស្រួលដោយប្រើរង្វិលជុំដែលជាប់គ្នា។
ខ្ញុំសូមបង្ហាញអ្នក។
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
តោះពិនិត្យមើលលទ្ធផល៖
ដូច្នេះខ្ញុំសូមពន្យល់ឱ្យច្បាស់ពីរបៀបដែលកម្មវិធីនេះត្រូវបានប្រតិបត្តិ។ ក្នុងការធ្វើម្តងទៀតដំបូងនៃរង្វិលជុំខាងក្រៅរបស់យើង 'x' គឺ 0 ។ ឥឡូវនេះយើងនៅលើជួរទី 2 នៅទីនេះយើងមានរង្វិលជុំថ្មីមួយដែលយើងហៅថារង្វិលជុំខាងក្នុង។ នៅក្នុងរង្វិលជុំខាងក្នុងនេះ ក្នុងការធ្វើម្តងទៀតដំបូង 'y' នឹងក្លាយជា 0 ដូច្នេះ 0 និង 0 ត្រូវបានបោះពុម្ពនៅលើស្ថានីយ។
ឥឡូវនេះ ការគ្រប់គ្រងត្រឡប់ទៅបន្ទាត់ទី 2 ឬរង្វិលជុំខាងក្នុងរបស់យើង។ ក្នុងការធ្វើឡើងវិញទីពីរនេះ 'y' នឹងត្រូវបានកំណត់ទៅ 1 ប៉ុន្តែយើងនៅតែស្ថិតក្នុងការធ្វើឡើងវិញជាលើកដំបូងនៃរង្វិលជុំខាងក្រៅរបស់យើង។ ដូច្នេះ 'x' គឺនៅតែ 0 ប៉ុន្តែឥឡូវនេះ 'y' ត្រូវបានបង្កើនទៅ 1 ។
នោះហើយជាមូលហេតុដែលយើងឃើញ 0 និង 1 នៅលើស្ថានីយ។ វានឹងបន្តរហូតដល់រង្វិលជុំខាងក្នុងរបស់យើងត្រូវបានប្រតិបត្តិ ហើយបន្ទាប់មកអ្នកបកប្រែនឹងទៅរង្វិលជុំខាងក្រៅម្តងទៀត ហើយដំណើរការនេះបន្តរហូតដល់រង្វិលជុំខាងក្រៅត្រូវបានបញ្ចប់។
បញ្ហាប្រឈម
នេះជាលំហាត់សម្រាប់អ្នក ប៉ុន្តែលំហាត់នេះពិបាកជាងលំហាត់ដែលអ្នកបានធ្វើកន្លងមក។
ដោយប្រើរង្វិលជុំជាប់គ្នា សរសេរកូដដើម្បីគូររាង 'F' នេះ៖
ជាដំណោះស្រាយ
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
// យើងនឹងកំណត់អថេរលទ្ធផលឡើងវិញទៅជាខ្សែអក្សរទទេ។
for count in range(x_count):
output += 'x'
print(output)
មានវិធីសាមញ្ញជាងនេះដើម្បីប្រតិបត្តិវាដោយមិនប្រើរង្វិលជុំដែលជាប់ ខ្ញុំទុកវាឱ្យអ្នកស្វែងយល់។
រុំឡើង
តើអ្នកទាំងអស់គ្នាមានអារម្មណ៍ថាក្តៅខ្លួនជាមួយនឹងការបង្រៀនដែរឬទេ?
ខ្ញុំច្បាស់ជាមានអារម្មណ៍បែបនេះ។ ខ្ញុំបានធ្វើឱ្យវាកាន់តែងាយស្រួលសម្រាប់អ្នកដើម្បីយល់។
សូមលើកយកអ្វីមកនិយាយជាមួយការបង្រៀនបន្ទាប់របស់យើង។
សូមផ្ដល់យោបល់