செவ்வாய், 17 மார்ச், 2026

வாரம் 7: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-7)

📜 வாரம் 7: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-7) | Tolkappiyam Nunmarabu Python Text-7

வாரம் 7: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-7)

Tolkappiyam - Nunmarabu (Python Text-7)

முனைவர் சத்தியராஜ் தங்கச்சாமி

தமிழ் உதவிப்பேராசிரியர், முதன்மைப் பதிப்பாசிரியர், விக்கிமீடியர்

ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.

அறிமுகம்

முந்தைய வகுப்பில் தொல்காப்பிய நூன்மரபின் 10 முதல் 16 வரைக்கும் உள்ள நூற்பாக்களுக்கு தீப்சீக் செய்யறிவுக் கருவியின் (AI Tool) மூலம் நிரல் எழுதி இயக்கும் முறை விளக்கப்பட்டது. அதன் அடுத்த படிநிலையாக 17 முதல் 21 வரைக்கும் உள்ள நூற்பாக்களுக்கு அதே கருவியைப் பயன்படுத்தி ஒரு விளையாட்டுச் செயலியை உருவாக்கும் முறையையும் அது இயங்கும் முறையையும் முந்தைய வகுப்பில் குறிப்பிட்டதுபோல் random, random.choice, f, else, main(), input, .strip(), while, __name__ == "__main__" ஆகிய குறியாக்கங்களின் விளக்கங்களையும் இங்குக் காணலாம்.

பைத்தான் குறியாக்க விளக்கம்
அன்பா! முதலில் நாம் random, random.choice, f, else, main(), input, .strip(), while, __name__ == "__main__" ஆகிய குறியாக்கங்களின் விளக்கங்களை அறிவோமா?
சரி ஐயா…

பைத்தான் குறியீடுகள் விளக்கம்

1. random, random.choice()

பைத்தானில் எதேச்சையாக (random) எண்களையோ அல்லது தரவுகளையோ தேர்ந்தெடுக்க இந்தக் கூறு (Module) பயன்படுகிறது.

import random: இந்த வசதியைப் பயன்படுத்த முதலில் இதை 'Import' செய்ய வேண்டும்.

random.choice(பட்டியல்): ஒரு List-இல் உள்ளவற்றிலிருந்து ஒன்றை மட்டும் வரிசைமுறை இன்றித் தேர்வு செய்யும்.

சான்று: random.choice(["Red", "Blue", "Green"]) என்பது மூன்றில் ஏதோ ஒன்றை மட்டும் தரும்.

2. f-strings (f)

மாறிகளை (Variable-களை) மிக எளிதாக சரத்திற்குள் (String-க்குள்) (Text) இணைக்க இது பயன்படுகிறது.

எப்படி இதனைப் பயன்படுத்துவது?: வரிக்கு முன்னால் f என்று போட்டு, மாறிப் பெயர்களை { } குறிக்குள் போட வேண்டும்.

சான்று: name = "அருண்", print(f"வணக்கம் {name}") -> வெளியீடு: வணக்கம் அருண்.

3. else

இது if அல்லது while கட்டளைகளுடன் இணைந்து வரும். 'ஒருவேளை நிபந்தனை பொய்த்துப்போனால் (False) என்ன செய்ய வேண்டும்' என்பதை இது சொல்லும்.

4. input()

பயனரிடமிருந்து (User) ஒரு தகவலைப் பெற்றுக்கொள்ள இது பயன்படுகிறது. இது எப்போதும் தரவை ஒரு 'சரம் (String)' (Text) ஆகத்தான் வாங்கும்.

5. .strip()

ஒரு சொல்லின் ஆரம்பத்திலும் முடிவிலும் தேவையில்லாமல் இருக்கும் காலி இடங்களை (Whitespaces) நீக்க இது உதவும்.

சான்று: " Hello ".strip() என்பது "Hello" என்று மாறும்.

6. while

ஒரு நிபந்தனை உண்மையாக இருக்கும் வரை ஒரு செயலைத் திரும்பத் திரும்ப (Loop) செய்ய இது பயன்படுகிறது.

7. main(), if __name__ == "__main__"

இது ஒரு நிரலாக்கத் தரக்கட்டுப்பாட்டு முறை (Best Practice).

main(): உங்கள் நிரலாக்கத்தின் முக்கியமான வேலைகளை ஒரு செயற்கூறுக்குள் (Function-க்குள்) வைப்பது வழக்கம், அதற்கு main என்று பெயரிடுவோம்.

if __name__ == "__main__": உங்கள் கோப்பை நேரடியாக 'இயக்கி (Run)' செயலினால் மட்டுமே குறிப்பிட்ட வேலைகள் நடக்க வேண்டும் என்பதற்காக இதைச் சேர்ப்போம். மற்றொரு கோப்பில் இருந்து இதை 'Import' செய்யும்போது இது தானாக இயங்காது.

அன்பா! இப்பொழுது மேலே சொன்ன குறியீடுகளைப் புரிந்து கொண்டீர்களா?
ஆம் ஐயா…
மகிழ்ச்சி… இனி நாம் தொல்காப்பிய எழுத்ததிகார நூன்மரபு நூற்பா 17 முதல் 21 வரையுள்ள கருத்தியல்களுக்கு தீப்சீக் செய்யறிவுக் கருவிகொண்டு ஒரு நிரல் எழுதி இயக்கிப் பார்ப்போமா?
சரி ஐயா…
நூற்பா 17-21 - மெய்-உயிர் இயல்புகள்
17 புள்ளி இல்லா எல்லா மெய்யும்
உரு உரு ஆகி அகரமொடு உயிர்த்தலும்
ஏனை உயிரொடு உருவு திரிந்து உயிர்த்தலும்
ஆயீர் இயல உயிர்த்தல் ஆறே.
18 மெய்யின் வழியது உயிர் தோன்று நிலையே.
19 வல்லெழுத்து என்ப க ச ட த ப ற.
20 மெல்லெழுத்து என்ப ங ஞ ண ந ம ன.
21 இடையெழுத்து என்ப ய ர ல வ ழ ள.
DeepSeek AI - மெய்-உயிர் விளையாட்டுச் செயலி

சரி மெய்-உயிர் விளையாட்டுச் செயலி எழுதச் சொல்லி, தீப்சீக் கருவிக்குப் பின்வருமாறு கட்டளை எழுதுவோமா?

ஆம் ஐயா…

தொல்காப்பிய மெய்-உயிர் விளையாட்டுச் செயலி

"""
தொல்காப்பிய மெய்யெழுத்து வகைப்பாடு - விளையாட்டுச் செயலி
பயன்படுத்தப்பட்ட புதிய குறிச்சொற்கள்:
- random, random.choice
- f-strings (f)
- else
- main()
- input()
- .strip()
- while
- __name__ == "__main__"
"""

import random

# தொல்காப்பியர் வகைப்படுத்திய மெய்யெழுத்துக்கள்
valli = ['க', 'ச', 'ட', 'த', 'ப', 'ற']      # வல்லெழுத்துகள் - நூற்பா 19
melli = ['ங', 'ஞ', 'ண', 'ந', 'ம', 'ன']      # மெல்லெழுத்துகள் - நூற்பா 20
idai = ['ய', 'ர', 'ல', 'வ', 'ழ', 'ள']       # இடையெழுத்துகள் - நூற்பா 21

# உயிரெழுத்துக்கள் - 12
uyir = ['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']

def main():
    """main() - முதன்மைச் செயல்பாடு"""
    print("=" * 60)
    print("                   தொல்காப்பிய மெய்-உயிர் விளையாட்டு")
    print("=" * 60)
    
    # while - மீண்டும் மீண்டும் விளையாடும் வசதி
    while True:
        print("\n" + "=" * 50)
        print("முதன்மைப் பட்டியல்:")
        print("1. தொல்காப்பிய நூற்பாக்களைக் காண")
        print("2. மெய்-உயிர் சேரும் முறைகளைப் பயில")
        print("3. விளையாட்டு - எழுத்துகளை அடையாளம் காண")
        print("4. வெளியேறு")
        print("=" * 50)
        
        # input() - பயனரிடமிருந்து தேர்வைப் பெறுதல்
        choice = input("உங்கள் தேர்வு (1-4): ")
        
        # .strip() - வெற்றிடங்களை நீக்குதல்
        choice = choice.strip()
        
        # else - வேறு நிபந்தனைகளைச் சரிபார்த்தல்
        if choice == '1':
            show_noorpaakkal()
        elif choice == '2':
            practice_combinations()
        elif choice == '3':
            play_game()
        elif choice == '4':
            print("\nநன்றி! மீண்டும் வருக!")
            break
        else:
            print("தவறான தேர்வு. மீண்டும் முயற்சி செய்க.")

def show_noorpaakkal():
    """நூற்பாக்களைக் காட்டும் செயல்பாடு"""
    print("\n" + "=" * 60)
    print("                   தொல்காப்பிய நூற்பாக்கள்")
    print("=" * 60)
    
    # f-strings - மாறிகளை சரத்துடன் இணைத்தல்
    noorpaakkal = [
        f"17. புள்ளி இல்லா எல்லா மெய்யும்\n    உரு உரு ஆகி அகரமொடு உயிர்த்தலும்\n    ஏனை உயிரொடு உருவு திரிந்து உயிர்த்தலும்\n    ஆயீர் இயல உயிர்த்தல் ஆறே.",
        f"18. மெய்யின் வழியது உயிர் தோன்று நிலையே.",
        f"19. வல்லெழுத்து என்ப {', '.join(valli)}",
        f"20. மெல்லெழுத்து என்ப {', '.join(melli)}",
        f"21. இடையெழுத்து என்ப {', '.join(idai)}"
    ]
    
    for nool in noorpaakkal:
        print(f"\n{nool}")
    
    input("\n[தொடர Enter அழுத்துக] ")

def practice_combinations():
    """மெய்-உயிர் சேரும் முறைகளைக் காட்டும் செயல்பாடு"""
    print("\n" + "=" * 60)
    print("            மெய்-உயிர் சேரும் முறைகள் - நூற்பா 17, 18")
    print("=" * 60)
    
    # f-strings பயன்பாடு - 1. அகரத்துடன் சேர்த்தல்
    print("\n1. அகரமொடு உயிர்த்தல் (மெய் + அகரம்):")
    for mey in valli[:3]:  # முதல் மூன்று வல்லெழுத்துகள்
        print(f"   {mey} + அ = {mey}அ", end="  ")
    print("\n   ... மற்றும் பிற மெய்களும்")
    
    # f-strings பயன்பாடு - 2. பிற உயிர்களுடன் சேர்த்தல்
    print("\n2. ஏனை உயிரொடு உருவு திரிந்து உயிர்த்தல்:")
    
    # random.choice - சீரற்ற மெய்யெழுத்தைத் தேர்வு செய்தல்
    sample_mey = random.choice(valli + melli + idai)
    sample_uyir = random.choice(uyir[1:4])  # ஆ, இ, ஈ
    
    print(f"   உதாரணம்: {sample_mey} + {sample_uyir} = {sample_mey + sample_uyir}")
    print("   (எழுத்தின் உருவம் திரிகிறது)")
    
    input("\n[தொடர Enter அழுத்துக] ")

def play_game():
    """விளையாட்டுச் செயல்பாடு"""
    print("\n" + "=" * 60)
    print("                   எழுத்து வகை அடையாளம் காணும் விளையாட்டு")
    print("=" * 60)
    
    score = 0
    total_questions = 5
    
    # while - கேள்விகள் கேட்பதற்கான சுழற்சி
    question_num = 0
    while question_num < total_questions:
        question_num += 1
        
        # random.choice - சீரற்ற மெய்யெழுத்தைத் தேர்வு செய்தல்
        all_letters = valli + melli + idai
        letter = random.choice(all_letters)
        
        # எழுத்தின் வகையைக் கண்டறிதல்
        # else - பல நிபந்தனைகளைச் சரிபார்த்தல்
        if letter in valli:
            correct_type = "வல்லெழுத்து"
            hint = "க ச ட த ப ற - வன் மெய்கள்"
        elif letter in melli:
            correct_type = "மெல்லெழுத்து"
            hint = "ங ஞ ண ந ம ன - மென் மெய்கள்"
        else:
            correct_type = "இடையெழுத்து"
            hint = "ய ர ல வ ழ ள - இடை மெய்கள்"
        
        print(f"\nகேள்வி {question_num}/{total_questions}:")
        print(f"  '{letter}' - இது எந்த வகை மெய்யெழுத்து?")
        print(f"  (குறிப்பு: {hint})")
        print("  1. வல்லெழுத்து")
        print("  2. மெல்லெழுத்து")
        print("  3. இடையெழுத்து")
        
        # input() மற்றும் .strip() - பயனர் பதிலைப் பெறுதல்
        answer = input("  உங்கள் விடை (1/2/3): ").strip()
        
        # f-strings - பதிலைச் சரிபார்த்தல்
        if (answer == '1' and correct_type == "வல்லெழுத்து") or \
           (answer == '2' and correct_type == "மெல்லெழுத்து") or \
           (answer == '3' and correct_type == "இடையெழுத்து"):
            print(f"  ✓ சரி! {letter} ஒரு {correct_type}")
            score += 1
        else:
            print(f"  ✗ தவறு. {letter} ஒரு {correct_type}")
    
    # f-strings - இறுதி மதிப்பெண்ணைக் காட்டுதல்
    print(f"\n" + "=" * 50)
    print(f"  விளையாட்டு முடிந்தது!")
    print(f"  உங்கள் மதிப்பெண்: {score}/{total_questions}")
    
    percentage = (score / total_questions) * 100
    print(f"  விழுக்காடு: {percentage:.1f}%")
    
    if percentage >= 80:
        print(f"  பாராட்டுகள்! சிறந்த அறிவு!")
    elif percentage >= 50:
        print(f"  நல்லது! மேலும் பயிற்சி எடுங்கள்!")
    else:
        print(f"  மீண்டும் முயற்சி செய்யுங்கள்!")
    
    input("\n[தொடர Enter அழுத்துக] ")

# __name__ == "__main__" - நிரல் நேரடியாக இயங்கும்போது மட்டுமே main() செயல்பட
if __name__ == "__main__":
    main()
                    
இந்த விளையாட்டு நன்றாக இயங்குகின்றது ஐயா… அதுதரும் விளைவினை உற்றுப்பார் அன்பா!
sathiyaraj@sathiyaraj-Aspire-ES1-521:~/ஆவணங்கள்/core_stable_Sathiyaraj/0தொல்காப்பியர்_விதிகள்$ python3 01_tholkappiya_nuunmarapu2.py ============================================================ தொல்காப்பிய மெய்-உயிர் விளையாட்டு ============================================================ ================================================== முதன்மைப் பட்டியல்: 1. தொல்காப்பிய நூற்பாக்களைக் காண 2. மெய்-உயிர் சேரும் முறைகளைப் பயில 3. விளையாட்டு - எழுத்துகளை அடையாளம் காண 4. வெளியேறு ================================================== உங்கள் தேர்வு (1-4): 1 ============================================================ தொல்காப்பிய நூற்பாக்கள் ============================================================ 17. புள்ளி இல்லா எல்லா மெய்யும் உரு உரு ஆகி அகரமொடு உயிர்த்தலும் ஏனை உயிரொடு உருவு திரிந்து உயிர்த்தலும் ஆயீர் இயல உயிர்த்தல் ஆறே. 18. மெய்யின் வழியது உயிர் தோன்று நிலையே. 19. வல்லெழுத்து என்ப க, ச, ட, த, ப, ற 20. மெல்லெழுத்து என்ப ங, ஞ, ண, ந, ம, ன 21. இடையெழுத்து என்ப ய, ர, ல, வ, ழ, ள [தொடர Enter அழுத்துக] ================================================== முதன்மைப் பட்டியல்: 1. தொல்காப்பிய நூற்பாக்களைக் காண 2. மெய்-உயிர் சேரும் முறைகளைப் பயில 3. விளையாட்டு - எழுத்துகளை அடையாளம் காண 4. வெளியேறு ================================================== உங்கள் தேர்வு (1-4): 3 ============================================================ எழுத்து வகை அடையாளம் காணும் விளையாட்டு ============================================================ கேள்வி 1/5: 'ங' - இது எந்த வகை மெய்யெழுத்து? (குறிப்பு: ங ஞ ண ந ம ன - மென் மெய்கள்) 1. வல்லெழுத்து 2. மெல்லெழுத்து 3. இடையெழுத்து உங்கள் விடை (1/2/3): 2 ✓ சரி! ங ஒரு மெல்லெழுத்து ... ================================================== விளையாட்டு முடிந்தது! உங்கள் மதிப்பெண்: 5/5 விழுக்காடு: 100.0% பாராட்டுகள்! சிறந்த அறிவு!
அது இருக்கட்டும் உன் கற்பனைக்கு ஏற்ப இந்தச் செய்யறிவுக் கருவியிடம் வினவலாகக் கேட்டுப் புதிய புதிய விளையாட்டுக்களை உருவாக்கலாம். சரி ஐயா… சரி… இதற்குரிய நிரலை என்னுடைய கித்துப்பில் [6] தருகின்றேன்; இதனை நீயும் இயக்கிப் பார் அன்பா… சரி ஐயா…
முடிவு

இனி இந்த நிரலினை ஒரு இணையச் செயலியாக உருவாக்கி மாணாக்கப் பயன்பாட்டிற்கு வழங்கும் நுட்பத்தினை அடுத்துவரும் பாடவேளையில் அறிவோம்.

சரி ஐயா. மிக்க நன்றி!
துணைநின்றவை
📺 காணொலி விரிவுரையைப் பாருங்கள்
ஏழாம் வார முழு விளக்கவுரை (காணொலி நேரம்: 48:30)

கருத்துகள் இல்லை:

கருத்துரையிடுக

உங்கள் கருத்துகள் வரவேற்கப்படுகின்றன

வாரம் 8: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-8)

📜 வாரம் 8: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-8) | Tolkappiyam Nunmarabu Python Text-8 ...