പൈത്തണിന്റെ ലോകത്തേക്ക് വായനക്കാര്‍ക്ക് സുസ്വാഗതം. പൈത്തണ്‍ എന്ന പ്രോഗ്രാമിങ്ങ് ലാങ്ഗ്വേജ് പഠിപ്പിക്കാനുള്ള ശ്രമമാണിവിടെ. ആരംഭം മുതലുള്ള പോസ്റ്റുകളുടെ ലിങ്കുകള്‍ ഇടതു വശത്തു കാണാം. ആര്‍ക്കും പഠിക്കാം. ആര്‍ക്കും സംശയങ്ങള്‍ ചോദിക്കാം. വിലക്കുകളോ മോഡറേഷനുകളോ ഇല്ല.

പൈത്തണ്‍: പാഠം രണ്ട്

>> Wednesday, June 16, 2010

ഈ പാഠത്തില്‍ ഉള്ളത്: കംപ്യൂട്ടറില്‍ സംഭവിക്കുന്നതെന്ത്?, ഒന്നാം പാഠത്തിലെ ചെറിയ പ്രോഗ്രാമിന്റെ വിശദമായ വായന, ഇതേ പ്രോഗ്രാമിന്റെ മലയാളം പതിപ്പ്, പൈത്തണുപയോഗിച്ച് അല്‍പം ഗണിതം.

കംപ്യൂട്ടറില്‍ സംഭവിക്കുന്നതെന്തെന്നാല്‍ ...


നമ്മുടെ മാതൃഭാഷ മലയാളമാണെന്നതുപോലെ കംപ്യൂട്ടറിന്റെ "മാതൃഭാഷ" Machine Language (യന്ത്രഭാഷ) എന്ന പേരുള്ള, 0,1 എന്നീ രണ്ട് "അക്ഷരങ്ങള്‍" മാത്രമുപയോഗിച്ചെഴുതുന്ന ഒരുതരം ഭാഷയാണ്. ഈ ഭാഷ പഠിച്ച് അതുപയോഗിച്ച് കംപ്യൂട്ടറിന് നിര്‍ദ്ദേശങ്ങള്‍ കൊടുക്കുക എന്നത് സാധ്യമാണെങ്കിലും ദുഷ്കരമാണ്. പൈത്തണ്‍ പോലെയുള്ള, ഒരു മനുഷ്യഭാഷയോട് (അതായത്, ഇംഗ്ളീഷിനോട്) കുറച്ചൊക്കെ സാമ്യമുള്ള ഭാഷകള്‍ ഉപയോഗിച്ച് പ്രോഗ്രാമുകള്‍ എഴുതുക എന്നത് ഇതിനെ അപേക്ഷിച്ച് വളരെ സുകരമാണ്.

നമ്മുടെ പൈത്തണ്‍ പ്രോഗ്രാം വായിച്ചുനോക്കി നാം എഴുതിയ പൈത്തണ്‍ ഭാഷയില്‍ തെറ്റുകളെന്തെങ്കിലുമുണ്ടെങ്കില്‍ അതു പറയുകയും, തെറ്റുകളൊന്നുമില്ലെങ്കില്‍ പ്രോഗ്രാമില്‍ നിര്‍ദ്ദേശിച്ചിരിക്കുന്ന കാര്യങ്ങള്‍ നടപ്പിലാക്കുകയും ചെയ്യുന്നത് പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്റര്‍ (Python Interpreter) എന്നു വിളിക്കപ്പെടുന്ന, അനേകം ആളുകള്‍ ചേര്‍ന്ന് എഴുതിയുണ്ടാക്കിയ ഒരു പ്രോഗ്രാമാണ്. Interpreter എന്ന വാക്കിന് "അര്‍ത്ഥം വിശദമാക്കുന്നയാള്‍", "ദ്വിഭാഷി" എന്നൊക്കെ അര്‍ത്ഥം പറയാം (ഉദാ:‌- An interpreter of dreams, French interpreter). നാം പൈത്തണ്‍ ഭാഷയിലെഴുതിയ പ്രോഗ്രാമിനെ കംപ്യൂട്ടറിനു മനസ്സിലാകുന്ന യന്ത്രഭാഷയിലേക്ക് മൊഴിമാറ്റം ചെയ്യുക എന്നതാണല്ലോ പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്റര്‍ ചെയ്യുന്നത്? അതുകൊണ്ട് പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്റര്‍ അഥവാ പൈത്തണ്‍ ദ്വിഭാഷി എന്ന പേര് ഈ പ്രോഗ്രാമിന് തികച്ചും ചേര്‍ന്നത് തന്നെ.

ലിനക്സില്‍ പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്ററുടെ പേര് python എന്നാണ്. നാം കഴിഞ്ഞ പാഠത്തില്‍ ഉപയോഗിച്ച python hello.py എന്ന കമാന്റ് ചെയ്യുന്നത്, ഈ ഇന്റര്‍പ്രെറ്ററിന് നാമെഴുതിയ hello.py എന്ന് പ്രോഗ്രാം ഇന്‍പുട്ട് ആയി കൊടുക്കുക എന്നതാണ്. python (ഇന്റര്‍പ്രെറ്റര്‍) ആകട്ടെ, hello.py എന്ന ഈ പ്രോഗ്രാം വായിച്ച് അതില്‍ പറഞ്ഞ കാര്യങ്ങള്‍ ചെയ്യുന്നു. പൈത്തണ്‍ ഭാഷയിലെഴുതിയ ഒരു പ്രോഗ്രാം പ്രവര്‍ത്തിപ്പിക്കുമ്പോള്‍ സംഭവിക്കുന്നത്, ചുരുക്കത്തില്‍ പറഞ്ഞാല്‍ ഇത്രയുമൊക്കെയാണ്.

ഇനിയുള്ള പാഠങ്ങളില്‍ പൈത്തണ്‍ ഭാഷ, പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്റര്‍ എന്നീ രണ്ടുകാര്യങ്ങളേയും "പൈത്തണ്‍" എന്ന ഒറ്റ വാക്ക് ഉപയോഗിച്ചാവും സൂചിപ്പിക്കുക. എഴുതാനും വായിക്കാനും ഇതാണ് എളുപ്പം; അര്‍ത്ഥശങ്ക ഉണ്ടാവാന്‍ തീരെ സാധ്യതയില്ലതാനും.

ആദ്യപ്രോഗ്രാം: വിശദമായ വായന.

കഴിഞ്ഞ പാഠത്തില്‍ കണ്ട ചെറിയ പൈത്തണ്‍ പ്രോഗ്രാം വിജയകരമായി പ്രവര്‍ത്തിപ്പിച്ചുനോക്കിക്കാണുമല്ലോ. ഇപ്പോള്‍ നമുക്ക് ഇതിന്റെ ഭാഗങ്ങള്‍ അടയാളപ്പെടുത്തി വിശദീകരിക്കാം.

പ്രോഗ്രാം ഇവിടെ എടുത്തെഴുതുന്നു:

ഈ പ്രോഗ്രാമില്‍ മൂന്നുതരം വരികളാണുള്ളത്:
  1. # എന്ന ചിഹ്നം തുടക്കത്തില്‍ വരുന്ന വരികള്‍
  2. പൈത്തണില്‍ # എന്ന ചിഹ്നം കമന്റുകളെ വേറിട്ടുകാണിക്കാന്‍ ഉപയോഗിക്കുന്ന മാര്‍ഗ്ഗമാണ്. പ്രോഗ്രാം വായിയ്ക്കുന്ന മറ്റു മനുഷ്യര്‍ക്കുവേണ്ടി പ്രോഗ്രാം എഴുതുന്നയാള്‍ ഉള്‍പ്പെടുത്തുന്ന കുറിപ്പുകളെയാണ് കമന്റ് എന്നു പറയുന്നത് . # എന്ന ചിഹ്നം കണ്ടാല്‍ പിന്നെ ആ വരിയില്‍ ബാക്കിയുള്ള കാര്യങ്ങളെ പൈത്തണ്‍ അവഗണിക്കും. അതായത്, "ഈ വരിയില്‍ ഇനിയുള്ള കാര്യങ്ങള്‍ അവഗണിച്ചോളൂ" എന്ന് പൈത്തണോട് പറയാനുള്ള ഉപാധിയാണ് # എന്ന ചിഹ്നം. കമന്റുകളുടെ പ്രാധാന്യത്തെപ്പറ്റി വഴിയേ പറയാം.
  3. ശൂന്യമായ വരികള്‍
  4. ഒരക്ഷരവും ഇല്ലാത്ത വരികളുടെ പ്രോഗ്രാമിലെ ഉപയോഗം സാധാരണ എഴുത്തുഭാഷയിലെ ഉപയോഗം പോലെതന്നെയാണ്: വായനക്കാരന്റെ കണ്ണുകളുടെ ആയാസം കുറയ്ക്കലും, പുതിയ ഒരു കാര്യം പറഞ്ഞുതുടങ്ങുമ്പോള്‍ അതിനെ മുമ്പുപറഞ്ഞതില്‍നിന്ന് വേറിട്ടുകാണിക്കലും. ഈ രണ്ടുകാര്യങ്ങളും പൈത്തണ്‍ ഇന്റര്‍പ്രെറ്റര്‍ക്കു പ്രധാനമല്ലാത്തതുകൊണ്ട്, ഇങ്ങനെയുള്ള വരികളെ പൈത്തണ്‍ അവഗണിക്കുന്നു. ചുരുക്കത്തില്‍: ഒരക്ഷരവും ഇല്ലാത്ത ശൂന്യമായ ഒരു വരി കണ്ടാല്‍ പൈത്തണ്‍ ആ വരിയെ അവഗണിക്കുന്നു.
  5. print എന്ന വാക്കില്‍ തുടങ്ങുന്ന വരി
  6. ഈ പ്രോഗ്രാമില്‍ പൈത്തണ്‍ ഭാഷയിലുള്ള ഒരേ ഒരു വരി ഇതാണെന്ന് പറയാം; മറ്റുള്ളതൊക്കെ ഇംഗ്ളീഷ് തന്നെയാണല്ലോ? print എന്നുള്ളത് പ്രോഗ്രാമിന്റെ output --- പുറത്തുകാണേണ്ട പ്രവര്‍ത്തനഫലം --- പുറത്തുകാണിക്കാന്‍ ഉപയോഗിക്കുന്ന ഒരു പൈത്തണ്‍ കീവേഡ് (keyword) ആണ്. പൈത്തണില്‍ ഇരുപതോളം വാക്കുകളെ ഇങ്ങനെ keyword അഥവാ പ്രധാനവാക്ക് /പ്രത്യേകവാക്ക് എന്ന് പേരിട്ട് വേര്‍തിരിച്ചിട്ടുണ്ട്. പ്രോഗ്രാമുകളില്‍ ചില പ്രത്യേക ആവശ്യങ്ങള്‍ക്കായി ഉപയോഗിക്കുന്നതുകൊണ്ടാണ് ഇവയെ കീവേഡ് എന്നു വിളിക്കുന്നത്. ഇവയില്‍ മിക്കതിനേയും നമുക്ക് വഴിയേ പരിചയപ്പെടാം. print എന്ന കീവേഡ് ചെയ്യുന്നത്, തനിക്കുശേഷം അതേ വരിയില്‍ കാണുന്ന കാര്യങ്ങളെ ഔട്ട്പുട്ട് ചെയ്യുക എന്നതാണ്. print ഇങ്ങനെ ചെയ്തതാണ് നാം പ്രോഗ്രാമിന്റെ ഔട്ട്പുട്ട് ആയി കണ്ടത്.
    പൈത്തണ്‍ പ്രോഗ്രാമുകള്‍ എഴുതാന്‍ കീവേഡുകള്‍ ഏതൊക്കെ എന്നത് കാണാതെ പഠിക്കേണ്ട കാര്യമൊന്നുമില്ല. print എന്നത് കീവേഡ് ആണോ മറ്റെന്തെങ്കിലും ആണോ എന്ന് എനിക്ക് ഉറപ്പൊന്നുമില്ലായിരുന്നു. ഈ പാഠം എഴുതാനിരുന്നപ്പോള്‍ വായിച്ചു നോക്കി കണ്ടുപിടിച്ചതാണ്.
print-നു ശേഷം Hello, World! എന്നത് ഉദ്ധരണചിഹ്നങ്ങള്‍ക്കിടയിലായി കൊടുത്തിരിക്കുന്നത് ശ്രദ്ധിക്കുക. രണ്ടുവാക്കുകളും ഒരു കോമയും ഒരു ആശ്ചര്യചിഹ്നവും ചേര്‍ന്ന ഈ വാചകത്തിനെ ഒരു ഏകകമായി -- ഭാഗങ്ങളായി മുറിക്കാതെ -- പരിഗണിക്കാന്‍വേണ്ടിയാണിത്. അക്ഷരങ്ങളും അക്കങ്ങളും ഉള്‍പ്പടെ എഴുതാനുപയോഗിക്കുന്ന എല്ലാ ചിഹ്നങ്ങളെയും (സ്പേസും മറ്റുമടക്കം) character എന്നു വിളിക്കുന്നു. ഉദ്ധരണചിഹ്നങ്ങള്‍ക്കിടയിലായി character-കള്‍ എഴുതുന്നതിന് string (ചരട്? സൂത്രം? ...?) എന്നു പറയുന്നു. ഉദാഹരണത്തിന്, നമ്മുടെ പ്രോഗ്രാമില്‍ക്കണ്ട "Hello, World!" ഒരു string ആണ്. അതേസമയം print ഒരു string അല്ല. കാരണം അത് ഉദ്ധരണചിഹ്നങ്ങള്‍ക്കിടയിലല്ല. ഇവിടെ ശ്രദ്ധിക്കേണ്ടതായ കാര്യം, print എന്നതിന്റെ അര്‍ത്ഥം പ്രോഗ്രാമില്‍ പ്രധാനമാണ്, എന്നാല്‍ "Hello, World!" എന്നതിന്റെ അര്‍ത്ഥത്തിന് പ്രാധാന്യമില്ല --- അതിനെ വെറുതെ എടുത്തെഴുതുക മാത്രമാണ് പ്രോഗ്രാം ചെയ്യുന്നത് --- എന്നുള്ളതാണ്. string-കളെപ്പറ്റി കൂടുതല്‍ നമുക്ക് വഴിയേ പഠിക്കാം.


പ്രോഗ്രാമിന്റെ മലയാളം പതിപ്പ്

മുകളില്‍ക്കൊടുത്ത പ്രോഗ്രാമിന്റെ മലയാളത്തിലുള്ള പതിപ്പാണ് താഴെയുള്ളത്. ഇത് പ്രവര്‍ത്തിപ്പിക്കാന്‍ മുമ്പുചെയ്തതുപോലെ gedit-ല്‍ ഒരു പുതിയ ഫയല്‍ തുറന്ന്, പ്രോഗ്രാം അതിലേക്ക് പകര്‍ത്തി, ml_helloworld.py എന്ന പേരില്‍ സേവ് ചെയ്യുക. മുമ്പുപറഞ്ഞതുപോലെ ഈ പേര് എന്തുവേണമെങ്കിലുമാകാം, .py എന്ന് അവസാനിക്കണമെന്നേയുള്ളൂ. ഒരു കാര്യം പ്രത്യേകം ശ്രദ്ധിക്കേണ്ടത്, ഫയലിന്റെ ആദ്യത്തെ വരിയില്‍ത്തന്നെ "...coding..." എന്നത് വരണം എന്നുള്ളതാണ്. പ്രോഗ്രാം പ്രവര്‍ത്തിപ്പിക്കുന്നവിധവും നേരത്തേതുപോലെതന്നെ: പ്രോഗ്രാം സേവ് ചെയ്തിരിക്കുന്ന ഡയറക്ടറിയില്‍ ടെര്‍മിനല്‍ ഉപയോഗിച്ച് python ml_helloworld.py എന്ന കമാന്റ് കൊടുക്കുക. ഈ പ്രോഗ്രാമിനെപ്പറ്റിയുള്ള വിവരണം കമന്റുകളായി പ്രോഗ്രാമില്‍ത്തന്നെ ചേര്‍ത്തിട്ടുണ്ട്.

# coding=utf-8

# (ഹാവൂ! ഇനി മലയാളത്തില്‍ കമന്റുകള്‍ എഴുതാം!‌)

# ഏറ്റവും മുകളില്‍ക്കാണുന്ന കോഡ് (coding എന്നുംമറ്റുമുള്ള ലൈന്‍)
# ഇംഗ്ളീഷിതര അക്ഷരങ്ങള്‍ പ്രോഗ്രാമില്‍ ഉള്‍പ്പെടുത്താന്‍ വേണ്ടിയുള്ളതാണ്. ഈ
# പ്രോഗ്രാമില്‍ കമെന്റിലും പിന്നെ പ്രോഗ്രാമില്‍ ഒരിടത്തും മലയാള
# അക്ഷരങ്ങള്‍ ഉപയോഗിക്കാന്‍വേണ്ടിയാണ് ആ ലൈന്‍ ചേര്‍ത്തത്.

# പൈത്തണ്‍ ഭാഷയില്‍ പ്രത്യേക ആവശ്യങ്ങള്‍ക്കായി ഉപയോഗിക്കുന്ന, keyword
# (കീവേഡ്: പ്രത്യേകവാക്ക്/പ്രധാനവാക്ക്) എന്ന് വിളിക്കുന്ന ഇരുപതോളം
# വാക്കുകളുണ്ട്. അടുത്ത കാലത്തിറങ്ങിയ പൈത്തണ്‍ മൂന്നാം പതിപ്പില്‍ ഈ
# പ്രത്യേകവാക്കുകള്‍ ഒഴികെ മറ്റെല്ലാം മലയാളത്തിലോ മറ്റു ഭാഷകളിലോ
# എഴുതാം; പ്രത്യേകവാക്കുകള്‍ ഇംഗ്ളീഷ് അക്ഷരങ്ങള്‍ ഉപയോഗിച്ചു മാത്രമേ
# എഴുതാന്‍ കഴിയൂ.

# നാം പഠനത്തിനായി തെരഞ്ഞെടുത്ത പൈത്തണ്‍ രണ്ടാം പതിപ്പില്‍ പക്ഷേ
# മലയാളത്തിന്റെ ഉപയോഗം ഒരു കൗതുകം മാത്രമായേ കാണാന്‍ പറ്റൂ:
# പ്രോഗ്രാമില്‍ ഒരേ ഒരു തരം കാര്യം (ഇതിന്റെ ഒരുദാഹരണം താഴത്തെ
# പ്രോഗ്രാമില്‍ ഉണ്ട്) ഒഴികെ ബാക്കിയെല്ലാം ഇംഗ്ളീഷ് അക്ഷരങ്ങള്‍ ഉപയോഗിച്ചേ
# ഈ പതിപ്പില്‍ എഴുതാവൂ. കമന്റുകളും ഇംഗ്ളീഷില്‍ത്തന്നെ എഴുതുന്നതാണ്
# നിലവിലുള്ള രീതി. കമന്റുകള്‍ മറ്റു മനുഷ്യര്‍ക്കു വായിക്കുവാന്‍വേണ്ടി
# മാത്രമുള്ളതായതുകൊണ്ട്, അതെഴുതുമ്പോള്‍ വ്യാകരണത്തെറ്റോ മറ്റോ
# വന്നാലും പ്രോഗ്രാം ഭംഗിയായി ഓടിക്കൊള്ളൂം.

# കമന്റ് എന്നു പറയുന്നത് ദാ ഇതുപോലെ "#" എന്നുതുടങ്ങുന്ന ലൈനുകളാണ്. ഇവ
# മറ്റു മനുഷ്യര്‍ക്ക് വായിക്കുവാന്‍വേണ്ടി ഉള്ളതാണ്: പ്രോഗ്രാമിന്റെ പ്രവര്‍ത്തനത്തെ
# ഇവ ഒരുവിധത്തിലും ബാധിക്കുന്നില്ല.

# ഇനി പ്രോഗ്രാമിലേക്ക് : പ്രോഗ്രാമിംഗ് പഠിക്കുമ്പോള്‍ സാധാരണ ആദ്യം
# എഴുതാറുള്ള "Hello, World!"  പ്രോഗ്രാമിന്റെ മലയാള "ഭാഷ്യം":

print "സ്വാഗതം!"

ഈസ്റ്റ്മാന്‍ കളറില്‍:



പ്രോഗ്രാം കോപ്പി ചെയ്യാനുള്ള എളുപ്പവഴി: മൗസ് സൂചിക പ്രോഗ്രാമിന്റെ ആദ്യത്തെ വരിയില്‍ കൊണ്ടു പോകുക (പ്രോഗ്രാമില്‍ എവിടെയാണെങ്കിലും മതി). ഒരു പ്രിന്ററിന്റെ ചിത്രം ഉള്‍പ്പടെ നാലു ചെറിയ ചിത്രങ്ങള്‍ (icons) ഉള്ള ഒരു ചതുരം പ്രോഗ്രാമിന്റെ മുകളിലായി പ്രത്യക്ഷപ്പെടുന്നതുകാണാം. ഇതില്‍ രണ്ടാമത്തെ ചിത്രത്തില്‍ (രണ്ടു കടലാസുകള്‍ ഒന്നിനുമീതെ ഒന്നായി വച്ചിരിക്കുന്നതിന്റെ ചിത്രം) അമര്‍ത്തുക. പ്രോഗ്രാമിന്റെ ശുദ്ധരൂപം (ലൈന്‍ നമ്പറുകളും വര്‍ണ്ണങ്ങളും മറ്റുമില്ലാത്തത്) കോപ്പി ചെയ്തു കഴിഞ്ഞു. ഇനി എഡിറ്ററില്‍ (ഉദാ: gedit) ഇതു പേസ്റ്റു ചെയ്യാം. പേസ്റ്റു ചെയ്തു നോക്കൂ! ഇതേപോലെ കാണുന്ന ഏതു പ്രോഗ്രാമും ഈ രീതിയില്‍ കോപ്പി ചെയ്യാം.

ഈ പ്രോഗ്രാമില്‍ കമന്റുകളിലല്ലാതെ മലയാളം വരുന്നത് print എന്നതിനുശേഷം വരുന്ന "സ്വാഗതം!" എന്ന string-ല്‍ മാത്രമാണല്ലോ. നാം പഠനത്തിനായി തെരഞ്ഞെടുത്ത പൈത്തണ്‍ രണ്ടാം പതിപ്പില്‍ ഈ രണ്ടിടങ്ങളില്‍ മാത്രമേ ഇംഗ്ലീഷിതര അക്ഷരങ്ങള്‍ പ്രോഗ്രാമില്‍ ഉപയോഗിക്കാന്‍ പറ്റൂ. ഏറ്റവും പുതിയതായ മൂന്നാം പതിപ്പില്‍ പ്രധാനവാക്കുകള്‍ ഒഴികെയുള്ളത് മലയാളത്തില്‍ (മറ്റു ഭാഷകളിലും) എഴുതാം. മുകളില്‍ മലയാളത്തില്‍ പ്രോഗ്രാമെഴുതിയത് ഒരു കൗതുകത്തിന് മാത്രം. മുമ്പോട്ടുള്ള പാഠങ്ങളിലെ പ്രോഗ്രാമുകള്‍ ഇംഗ്ളീഷില്‍ത്തന്നെ ആയിരിക്കും എഴുതുക: താത്പര്യമുള്ളവര്‍ക്ക് പ്രോഗ്രാമിനെ മലയാളീകരിക്കാനുള്ള വിദ്യ മനസ്സിലായല്ലോ.

കൂട്ടലും കുറയ്ക്കലും (മറ്റു ക്രിയകളും)


പൈത്തണ്‍ ഉപയോഗിച്ച് ഗണിതക്രിയകള്‍ ചെയ്യുന്നതെങ്ങനെ എന്നു നോക്കാം. കൂട്ടല്‍, കുറയ്ക്കല്‍ എന്നിവയ്ക്ക് നാം സാധാരണ ഉപയോഗിച്ചുവരുന്ന +, - എന്നീ ചിഹ്നങ്ങളാണ് പൈത്തണിലും ഉപയോഗിക്കുന്നത്. ഗുണനത്തിന് പക്ഷേ x അല്ല, * ആണ് ഉപയോഗിക്കേണ്ടത്. ഹരണത്തിന് / ഉം ഘാതത്തിന് (കൃതിക്ക്) ** ഉം ശിഷ്ടം കാണാന്‍ % ഉമാണ് ചിഹ്നങ്ങള്‍. ക്രിയകള്‍ ചെയ്യേണ്ടുന്ന ക്രമം വ്യക്തമാക്കാന്‍ (വായിച്ചു മനസ്സിലാക്കാനുള്ള എളുപ്പത്തിനും) ഒരേ ഒരുതരം ബ്രായ്ക്കറ്റേ ഉപയോഗിക്കാവൂ: () മാത്രം. ഈ ആവശ്യത്തിന് നാം സാധാരണ ഉപയോഗിക്കുന്ന {}, [] എന്നീ തരം ബ്രായ്ക്കറ്റുകള്‍ക്ക് പൈത്തണില്‍ മറ്റ് അര്‍ത്ഥങ്ങളുള്ളതുകൊണ്ട് ഇവ ഗണിതക്രിയകളില്‍ ഈ ആവശ്യത്തിന് ഉപയോഗിച്ചുകൂടാ.

പ്രോഗ്രാമില്‍ ഗണിതക്രിയകള്‍ ചെയ്യുന്നതെങ്ങനെ എന്നുകാണാന്‍ താഴെയുള്ള പ്രോഗ്രാം നോക്കുക. വായിക്കുന്നയാളെ സഹായിക്കാനായി പ്രോഗ്രാമില്‍ യഥേഷ്ടം കമന്റുകള്‍ കൊടുത്തിരിക്കുന്നത് ശ്രദ്ധിക്കുക; പ്രോഗ്രാം വ്യക്തമായി മനസ്സിലാക്കാന്‍ സഹായിക്കുന്ന കമന്റുകള്‍ നല്ല പ്രോഗ്രാമിന്റെ ലക്ഷണമാണ്.

# We can do simple numerical calculations easily with
# Python.
# 
# Use:
# + for addition
# - for subtraction
# * for multiplication
# / for division
# ** for exponentiation
# % for remainder after division

# Examples:

print 5 + 3  

print 5 - 3  

print 5 * 3 

print 5 / 2  # Since the operands are integers, the result
             # is also an integer

print 5 ** 3

print 5 % 3


# We can make the output easier to understand by printing
# out the expression along with the result. Here is how to
# use the comma (,) to do this:

print "5 + 3 = ",  5 + 3

print "5 ** 3 = ",  5 ** 3

# To get fractional values in the result, include a decimal
# point in at least one operand:

print "5 / 2 = ",  5.0 / 2
print "5 / 3 = ",  5 / 3.0

print "Here is one approximation to Pi: ", 22.0/7
print "And here is a better approximation : ", 355/113.0

# We can do more complicated calculations as well. Notice
# how a long line is split across two lines using the
# backslash ( \ ):

print "Here is a big negative integer: ",\
 (17 ** 21 + 5)*(36 % 11 + 76 * 43)-(712 + 5243 ** 32)


# Try doing different calculations and see what you get!

കളര്‍ പതിപ്പ്:




ഈ പ്രോഗ്രാം പ്രവര്‍ത്തിപ്പിക്കേണ്ടതെങ്ങനെ എന്ന് നമുക്കറിയാം: ഒന്നാം പാഠത്തില്‍ ചെയ്തതുപോലെ ഒരു ഫയലില്‍ (ഉദാ: calc.py) പ്രോഗ്രാം എഴുതുക (കോപ്പി-പേസ്റ്റ് ചെയ്താലും മതി), അതുകഴിഞ്ഞ് ടെര്‍മിനലില്‍ ഫയല്‍ സൂക്ഷിച്ചിരിക്കുന്ന ഡയറക്ടറിയില്‍ ചെന്ന് python calc.py എന്ന കമാന്റ് കൊടുക്കുക.

ഈ പ്രോഗ്രാമില്‍ പ്രത്യേകം ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങള്‍:
  • ഹരണക്രിയയില്‍ ഉള്‍പ്പെട്ടിരിക്കുന്ന രണ്ടു സംഖ്യകളൂം ദശാംശ ചിഹ്നം ഇല്ലാത്തവയാണെങ്കില് ഉത്തരവും ദശാംശ ചിഹ്നം ഇല്ലാതെ ശരിക്കുള്ള ഉത്തരത്തിന്റെ പൂര്‍ണ്ണസംഖ്യാഭാഗം മാത്രമായിരിക്കും. കൂടുതല്‍ കൃത്യമായ ഉത്തരം കിട്ടാന്‍ ഒരു സംഖ്യയിലെങ്കിലും ഒരു ദശാംശ ചിഹ്നം ഇടുക.
  • print ഉപയോഗിച്ച് ഒന്നിലധികം കാര്യങ്ങള്‍ കാണിക്കാന്‍ കോമ ഉപയോഗിക്കുക.
  • print "5 + 3 = ", 5 + 3 എന്നതിലെ string-നെ അതേപടിയും, string അല്ലാത്ത 5 + 3 എന്നതിന്റെ മൂല്യം കണ്ടുപിടിച്ച് അതും output ആയി കിട്ടുന്നത് ശ്രദ്ധിക്കുക.
  • വായിക്കാനുള്ള സൗകര്യത്തിനായി ദൈര്‍ഘ്യമേറിയ ഒരു വരിയെ backslash (\) ഉപയോഗിച്ച് രണ്ടായി മുറിച്ച് എഴുതിയിരിക്കുന്നത് ശ്രദ്ധിക്കുക. ഈ ചിഹ്നമില്ലാതെ ഈ വരിയെ രണ്ടായി മുറിച്ചാല്‍ എന്തു സംഭവിക്കും? പരീക്ഷിച്ചുനോക്കുക!

പ്രോഗ്രാമിംഗ് പഠിക്കാന്‍ വേണ്ട ഒരു ഗുണം പരീക്ഷണങ്ങള്‍ നടത്തിനോക്കാനുള്ള താത്പര്യ്മാണ്: സ്വന്തമായി പലതരം ക്രിയകള്‍ പൈത്തണ്‍ ഉപയോഗിച്ച് ചെയ്തുനോക്കുക. നിങ്ങള്‍ പ്രതീക്ഷിക്കുന്ന ഉത്തരങ്ങള്‍തന്നെയാണോ കിട്ടുന്നത്? ഉദാഹരണത്തിന്: നിങ്ങള്‍ കൊടുത്ത ക്രിയയില്‍ പൂജ്യം കൊണ്ടുള്ള ഹരണം വേണ്ടിവന്നാല്‍ എന്തു സംഭവിക്കും? ഏതെങ്കിലും ക്രിയയ്ക്ക് മറുപടിയായി പൈത്തണ്‍ പരാതി പറഞ്ഞാല്‍ (error message) അതെന്തുകൊണ്ടാണെന്ന് മനസ്സിലാക്കാന്‍ ശ്രമിക്കുക. മനസ്സിലായില്ലെങ്കില്‍ കൊടുത്ത ക്രിയയും കിട്ടിയ പരാതിയും ഇവിടെ പറയുക: നമുക്കു ചര്‍ച്ച ചെയ്യാം.

ഗണിതത്തില്‍ താത്പര്യമുള്ളവര്‍ക്കായി ഒരു പൈത്തണ്‍ പസില്‍ (അല്ലാത്തവര്‍ക്കും ശ്രമിക്കാം!) : ഈ പാഠത്തില്‍ പരിചയപ്പെട്ട പൈത്തണ്‍ മാത്രമുപയോഗിച്ച് ഒരു സംഖ്യയുടെ വര്‍ഗമൂലം എങ്ങനെ കാണാം? ഉദാഹരണത്തിന്, നാലിന്റെ വര്‍ഗമൂലം രണ്ടാണെന്ന് നമുക്കറിയാം. ഇത് പൈത്തണെക്കൊണ്ട് എങ്ങനെ പറയിപ്പിക്കും? രണ്ടിന്റെ (ഏകദേശ) വര്‍ഗമൂലം കാണാനോ? മൂന്നാം മൂലമാണെങ്കിലോ?

അടുത്ത പാഠത്തില്‍: പൈത്തണ്‍ പ്രോഗ്രാമുകള്‍ അനായാസം എഴുതി പ്രവര്‍ത്തിപ്പിച്ചുനോക്കാനുള്ള പുതിയ രണ്ടു വഴികള്‍.

കടപ്പാട്: സന്തോഷ് തോട്ടിങ്ങല്‍

42 comments:

ഹോംസ് June 15, 2010 at 7:16 AM  

എനിയ്ക്ക് ഇത് മുഴുവന്‍ പഠിയ്ക്കാന്‍ അല്പം കൂടുതല്‍ സമയം വേണം.രണ്ടു ദിവസത്തിനകം പരീക്ഷിച്ച് വിവരമറിയിക്കാം.
നന്ദി.

ഗീതാസുധി June 15, 2010 at 7:19 AM  

വീണ്ടും വളരെ നല്ല അവതരണം.
അഞ്ചാം ക്ലാസ്സുകാരികൂടി പഠിച്ചുപോകും!
വൈകീട്ട് ചെയ്തുനോക്കി കൂടുതല്‍ പ്രതികരിക്കാം.
സ്കൂളില്‍ പോകാന്‍ നേരമായി.

MURALEEDHARAN.C.R June 16, 2010 at 5:53 AM  

വളരെ നല്ല ക്ളാസ്
അഭിനന്ദനങ്ങള്‍...

JOHN P A June 16, 2010 at 5:59 AM  

ഞാന്‍ Copy ചെയ്തു. Print എടുത്തു പഠിക്കണം. വളരെ ഇഷ്ടപ്പെട്ടു
നന്ദി

mkmali June 16, 2010 at 6:01 AM  

വളരെ നന്നായിരിക്കുന്നു. പ്രോഗ്രാം പഠിക്കാന്‍ തുടങ്ങുന്നവരെ മനസ്സില്‍ കണ്ടുകൊണ്ടുള്ള അവതരണം

ഹോംസ് June 16, 2010 at 6:10 AM  

ഇന്നലെ വൈകീട്ട് പാഠം2 അപ്രത്യക്ഷമായിരുന്നു.
ഇതാ വീണ്ടും വന്നപ്പോള്‍ ഈസ്റ്റ്മാന്‍ കളറിലെഴുതിയതൊന്നും കാണാത്തതെന്തേ?

bhama June 16, 2010 at 6:21 AM  

എന്തായാലും ഞാനും പൈതണ്‍ പഠിച്ചു തുടങ്ങി.. ICT Training കഴിഞ്ഞതു മുതല്‍ പൈതണ്‍ പ്രോഗ്രാമിങ് പഠിക്കാനായി ശ്രമിച്ചു കൊണ്ടിരിക്കുന്ന എനിക്ക് ഫിലിപ്പ് സാറിന്റെ ഓരോ ക്ലാസ്സും കൂടുതല്‍ സഹായകമാവുന്നു..

Sreekala June 16, 2010 at 7:21 AM  

ഒന്നാം പാഠത്തില്‍ ഉണ്ടായതില്‍ക്കൂടുതല്‍ ആക്ടിവിറ്റികള്‍ ഈ പാഠത്തിലുണ്ടെന്ന് തോന്നുന്നു. പാഠം വൈകുന്നേരമിരുന്ന് പഠിച്ച് ചെയ്തു നോക്കിയതിന് ശേഷം സംശയങ്ങള്‍ ചോദിക്കാം.

ഫിലിപ്പ് June 16, 2010 at 7:34 AM  

എല്ലാവര്‍ക്കും നന്ദി. പാഠത്തില്‍ പറഞ്ഞ കാര്യങ്ങള്‍ ചെയ്തുനോക്കി ബുദ്ധിമുട്ടോ തെറ്റുകളോ ഉണ്ടെങ്കില്‍ പറയുക; ശരിയായി വന്നാല്‍ അതും! കൂടുതല്‍ ഗണിതക്രിയകള്‍ തനിയെ ചെയ്തുനോക്കുമല്ലോ? ചെയ്തുനോക്കുന്നതിനിടയില്‍ പുതുതായി എന്തു കണ്ടാലും പറയുക; നമുക്കിവിടെ ചര്‍ച്ച ചെയ്യാം.

ഹോംസ് സാര്‍,

ഇന്നു നോക്കുമ്പോള്‍ ബ്ളോഗിന്റെ ഇടതുവശത്ത് കൂടുതല്‍ ആഡംബരങ്ങള്‍ കണ്ടില്ലേ? ഇതു വരുത്താനുള്ള ശ്രമത്തിനിടയില്‍ (നിസാര്‍ സാറിനു നന്ദി) കളര്‍ പോയതാണ്. തിരിച്ച് കളറിലാക്കിയിട്ടുണ്ട്.

-- ഫിലിപ്പ്

Arun M June 16, 2010 at 9:31 AM  
This comment has been removed by the author.
Arun M June 16, 2010 at 10:14 AM  
This comment has been removed by the author.
Arun M June 16, 2010 at 10:49 AM  
This comment has been removed by the author.
Lovely, MT, EKM June 16, 2010 at 12:26 PM  

പഠിച്ച് ചെയ്തു നോക്കിയതിന് ശേഷം സംശയങ്ങള്‍ ചോദിക്കാം. വളരെ നന്ദി

Sivadasan June 16, 2010 at 1:27 PM  

I like 'python'. But since
I studied both VB6 & C 'python' didn't impress me much.
Sivadasan

Unknown June 16, 2010 at 6:08 PM  

@phlip Sir
# എന്ന ചിഹ്നം കണ്ടാല്‍ പിന്നെ ആ വരിയില്‍ ബാക്കിയുള്ള കാര്യങ്ങളെ പൈത്തണ്‍ അവഗണിക്കും.
എന്നാല്‍ മലയാളം എഴുതാന്‍ ഉള്ള വരിയില്‍ (# -*- coding: iso-8859-15 -*-) # ഉണ്ടായിട്ടും ആ വരി അവഗണിക്കുന്നില്ലല്ലോ ? മാത്രമല്ല, അത് വേണം താനും, ഒന്ന് വിശദമാക്കുമോ സാര്‍

ഹോംസ് June 16, 2010 at 7:26 PM  

ആദ്യം സെലക്ട് ചെയ്ത് റൈറ്റ് ക്ലിക്ക് കോപ്പി ചെയ്ത് ടെക്സ്റ്റ് എഡിറ്ററില്‍ പേസ്റ്റ് ചെയ്തപ്പോള്‍ വലിയ കുഴപ്പമില്ലാതെ
കിട്ടി. (അക്ഷരങ്ങള്‍ കൂടുതല്‍ അടുത്തുപോയോ?).
എന്നാല്‍, രണ്ടാമതു പറഞ്ഞരീതിയില്‍ ഈസ്റ്റ്മാന്‍ കോപ്പി പേസ്റ്റ് ചെയ്തപ്പോള്‍ ഇങ്ങനെയാണ് സ.&#.3405.;വ.&#3390.;ഗത.ം!
കിട്ടിയത്!
എന്തായിരുന്നിരിക്കും കുഴപ്പം?

ഫിലിപ്പ് June 16, 2010 at 10:16 PM  

ചന്ദ്രശേഖരന്‍ സാര്‍,

സാറിന്റെ ചോദ്യത്തിന് ചുരുക്കത്തില്‍ (ചുളുവിലും) ഉള്ള ഉത്തരം: # എന്ന ചിഹ്നം കണ്ടാല്‍ ബാക്കി ആ വരിയിലുള്ള കാര്യങ്ങള്‍ പൈത്തണ്‍ അവഗണിക്കും എന്നുള്ള നിയമത്തിനുള്ള ഒരു അപവാദമാണ് (exception) ഇത്.

കുറച്ചുകൂടെ വിശദമായി പറഞ്ഞാല്‍ : നമ്മുടെ പ്രോഗ്രാം വായിച്ച് അതില്‍പ്പറഞ്ഞ കാര്യങ്ങള്‍ കംപ്യൂട്ടറിന് മനസ്സിലാകുന്ന ഭാഷയിലാക്കി അതൊക്കെ കംപ്യൂട്ടറിനെക്കൊണ്ട് ചെയ്യിപ്പിക്കുക എന്നതാണല്ലോ പൈത്തണ്‍ ദ്വിഭാഷിയുടെ ജോലി? പൈത്തണ്‍ ഭാഷാനിയമങ്ങളനുസരിച്ച് # കഴിഞ്ഞ് അതേവരിയില്‍ വരുന്ന കാര്യങ്ങള്‍ കംപ്യൂട്ടറിനോട് പറയാന്‍ പാടുള്ളതല്ല. അതുകൊണ്ടുതന്നെ ദ്വിഭാഷി ഇവയെ പൊതുവില്‍ അവഗണിക്കുന്നു: # കണ്ടാല്‍പ്പിന്നെ നേരെ അടുത്ത വരി വായിച്ചുതുടങ്ങുന്നു.

കംപ്യൂട്ടറിനോടു പറയാനുള്ള കാര്യങ്ങള്‍ പൈത്തണ്‍ ഭാഷയിലെഴുതിയാല്‍ അത് കംപ്യൂട്ടറിലേക്കെത്തിക്കുന്ന പണി ദ്വിഭാഷി ചെയ്യും. ദ്വിഭാഷിയോട് മാത്രമായി ഒരു കാര്യം പറയണമെങ്കിലോ? സ്വതവേ കംപ്യൂട്ടറിനോട് പറയേണ്ടതില്ലാത്തതായ കമന്റുകളിലൂടെ ഇക്കാര്യം ദ്വിഭാഷിയെ അറിയിക്കുന്നതാണ് ഇതിനവലംബിക്കാവുന്ന ലളിതമായ മാര്‍ഗം എന്ന് കുറച്ചാലോചിച്ചാല്‍ മനസ്സിലാകും. ഇതു നമുക്കത്ര അപരിചിതമായ രീതിയല്ല : ഉദാഹരണത്തിന്, ഓഫീസുകളിലും മറ്റും രേഖകളുടെ മാര്‍ജിനിലാണ് ക്വെറി ("കൊറി", query) എഴുതുന്നത്. ക്വെറി രേഖകളുടെ ഉള്ളടക്കതിന്റെ ഭാഗമല്ല, മറിച്ച് രേഖകള്‍ കൈകാര്യം ചെയ്യുന്ന മനുഷ്യരുമായുള്ള ആശയവിനിമയത്തിനായുള്ളതാണ്. അതുകൊണ്ടുതന്നെ അത് രേഖയുടെ ഭാഗമാക്കി എഴുതുന്നതിലും നല്ലത് അങ്ങനെയല്ലാതെ മാര്‍ജിനിലാക്കി എഴുതുന്നതാണ്. ഏകദേശം ഇതുപോലെയാണ് ഇവിടെയും. coding എന്നുള്ള വരി പ്രോഗ്രാമിന്റെ ശരിക്കുള്ള ഉള്ളടക്കത്തിന്റെ ഭാഗമല്ല, പ്രോഗ്രാം എങ്ങനെ വായിക്കണം എന്ന് ദ്വിഭാഷിയോട് പറയുന്നതാണ്. അതുകൊണ്ട് അത് കമന്റിന്റെ ഭാഗമായി എഴുതുന്നു. ഈ വരി ഫയലില്‍ ആദ്യത്തേതാകണം എന്ന് പറഞ്ഞത് ശ്രദ്ധിച്ചുകാണുമല്ലോ? ഇതുപോലെ കമന്റ് വഴിയായുള്ള നിര്‍ദ്ദേശങ്ങള്‍ക്കായി ദ്വിഭാഷി പ്രോഗ്രാമിന്റെ ആദ്യത്തെ രണ്ടു വരികളില്‍ മാത്രമേ നോക്കൂ. മറ്റു വരികളിലുള്ള കമന്റുകള്‍ ഒന്നാകെ അത് അവഗണിക്കുക തന്നെ ചെയ്യും.


ഹോംസ് സാര്‍,

ഇതെന്തുകൊണ്ടാണെന്ന് എനിക്ക് കൃത്യമായി അറിഞ്ഞുകൂടാ, ഒരൂഹം പറയാം.

റൈറ്റ്-ക്ളിക്ക് ചെയ്ത് കോപ്പി ചെയ്യുമ്പോള്‍ ബ്രൗസറില്‍ കാണുന്ന വരികള്‍ നേരിട്ട് "ക്ളിപ്പ്ബോര്‍ഡ്" എന്ന് വിളിക്കുന്ന, നമുക്ക് അദൃശ്യമായ "പലവക" പേജിലേക്ക് പകര്‍ത്തപ്പെടുകയാണ്. പേസ്റ്റ് ചെയ്യുമ്പോള്‍ ക്ളിപ്പ്ബോര്‍ഡില്‍നിന്ന് എഡിറ്ററിന്റെ നമുക്കു കാണാവുന്ന പേജിലേക്ക് ഈ വരികള്‍ വീണ്ടും പകര്‍ത്തപ്പെടുന്നു.

രണ്ടാമതു പറഞ്ഞ രീതിയില്‍ ഒരു ഇടനിലക്കാരനുണ്ട് -- ഫ്ളാഷ് പ്ളഗിന്‍ എന്നാണ് ഇദ്ദേഹത്തിന്റെ പേര്. ഇത് ബ്രൗസറിന്റെ കൂടെയുള്ള, അഡോബിയുടെ ഫ്ളാഷ് എന്നതരം ഉള്ളടക്കം പ്രദര്‍ശിപ്പിക്കാന്‍ ബ്രൗസറിനെ സഹായിക്കുന്ന സോഫ്ട് വെയറാണ്. ഉദാഹരണത്തിന്, യൂട്യൂബിലുള്ള വീഡിയോകള്‍ നമുക്കു ലഭിക്കുന്നത് ഫ്ളാഷ് രൂപത്തിലാണ്. "ഈസ്റ്റ്മാന്‍ കളര്‍" കാണിക്കുന്നതിലും ഫ്ളാഷിന് എന്തോ ഒരു പങ്കുണ്ട് -- ഇതെന്താണെന്ന് എനിക്കറിഞ്ഞുകൂടാ. രണ്ടാമത്തെ രീതിയില്‍ കോപ്പി ചെയ്യുമ്പോള്‍ ഉള്ളടക്കത്തിനെ ക്ളിപ്പ്ബോര്‍ഡില്‍ എത്തിക്കുന്നത് ഫ്ളാഷ് പ്ളഗിനാണ്. മലയാളം ബ്രൌസറില്‍നിന്ന് വായിച്ച് ക്ളിപ്പ്ബോര്‍ഡിലേക്ക് പകര്‍ത്തി എഴുതുന്നതില്‍ ഈ പ്ളഗിനുള്ള എന്തോ പോരായ്മയായിരിക്കണം സാര്‍ കണ്ട വ്യത്യാസത്തിന് കാരണം.

-- ഫിലിപ്പ്

ഫിലിപ്പ് June 16, 2010 at 10:28 PM  
This comment has been removed by the author.
KIRANAM June 17, 2010 at 12:04 AM  

രണ്ടാം ക്ലാസ് വളരെ ഹ്ര്‍ദ്യമായ അനുഭവമായി.അവതരണം മാത്ര മല്ല ഉള്ളടക്കവും വളരെ നന്നായി. എന്നാല്‍ എന്റെ പൈതോന്‍ ക്ലാസില്‍ രണ്ടാം പാഠം കുറച്ചു വലിയ ഭാരമാണ് ചുമക്കുന്നത്.അതുകൊണ്ട് തന്നെ ഒരുപാട് വീഴ്ചകള്‍ ഉണ്ട്.എങ്കിലും ഉപകാരമാകും എന്ന് വിചാരിക്കുന്നു.

പൈത്തന്‍ മലയാളം കമ്മെന്റ് അടിപൊളിയായി .പക്ഷെ അത് പരീക്ഷിച്ചത് ചിലര്‍ക്ക് തെറ്റിപ്പോയോ എന്ന് സംശയം

പൈ ബോര്‍ഡില്‍ രണ്ടാം ചാപ്റ്റര്‍ കൊടുത്തിരിക്കുന്നു

ravi June 17, 2010 at 5:08 AM  

Karnam Sir,

താങ്കളുടെ പോസ്റ്റിന്റെ ലിങ്ക് ഇവിടെ നല്‍കുമ്പോള്‍ അറിയാതെ ഞങ്ങള്‍ അതില്‍ ക്ലിക്കുന്നു. താങ്കളുടെ പോസ്റ്റ് വായിക്കുമ്പോള്‍ ആകെ കണ്‍ഫ്യൂഷന്‍ ആകുന്നു. പൈതണ്‍ ആകെ കണ്‍ഫ്യൂഷന്‍ ആണെന്ന് മനഃപൂര്‍വം കാണിക്കാനാണോ താങ്കള്‍ ഇവിടെ ലിങ്ക് നല്‍കുന്നത്. താങ്കളുടെ പോസ്റ്റില്‍ എന്താണ് ആതം കമന്റാത്തത് . ഇത് മാര്‍ക്കറ്റ്ലെ കച്ചവടം പോലെയായി. ഒരാള്‍ നല്ല ഒരു ഹോട്ടല്‍ നടത്തുമ്പോള്‍ അതിന് തൊട്ടടുത്തൊരു ഹോട്ടല്‍ .. നല്ല പരസ്യവും.. വരൂ.. കയറിനോക്കൂ... കയറിയപ്പോഴോ ?... പ്ലീസ് ദേഷ്യപ്പെടരുത്. ഞാന്‍ അധ്യാപകനല്ല...

KIRANAM June 17, 2010 at 8:48 PM  

@ രവി
തങ്ങളുടെ കമ്മെന്റ് തീര്‍ച്ചയായും തുടര്‍ന്നുള്ള എന്റെ ബ്ലോഗുകള്‍ മെച്ച പെടുത്താന്‍ സഹായിക്കും.ഇനിയും ഇത്തരം വിമര്‍ശനങ്ങളെ സ്വാഗതം ചെയ്യുന്നു.പിന്നെ തങ്ങളെ പോലെ അറിയാതെ ക്ലിക്ക് ചെയ്യുന്നവരോട് ഒരു കാര്യം പറഞ്ഞോട്ടെ ,എന്റെ ബ്ലോഗ്‌ ഓപ്പണ്‍ ചെയ്തു വരുന്നത് കണ്ടാല്‍ ഉടന്‍ ക്ലോസ് ചെയ്‌താല്‍ കൂടുതല്‍ കണ്‍ഫ്യൂഷന്‍ ഉണ്ടാവാതെ നോക്കാം.ബ്ലോഗില്‍ വരുന്നവരെല്ലാം കമെന്റിയാല്‍ മാത്സ് ബ്ലോഗില്‍ ഇപ്പോള്‍ ഏകദേശം നാല് ലക്ഷ ത്തില്‍ അധികം കമ്മെന്റുകള്‍ ഉണ്ടാവേണ്ടതാണ് .കമെന്റിനു വേണ്ടിയല്ല ഞാന്‍ ബ്ലോഗുന്നത്.ഒരുപാട് പ്രിപറേഷന്‍ ഒന്നുമില്ലാതെ ആണ് ബ്ലോഗ്‌ തയ്യാറാക്കുന്നത് തീര്‍ച്ചയായും തെറ്റുകള്‍ ഉണ്ടാകാം.അധ്യാപകനല്ലെങ്കിലും പൈത്തന്‍ കണ്‍ഫ്യൂഷന്‍ ഇല്ലാതെ പഠിക്കാന്‍ താങ്കള്ക് കഴിയും തീര്‍ച്ച.

എന്‍റെ ബ്ലോഗില്‍ കൊടുത്ത പ്രോഗ്രാമില്‍ ഉണ്ടായിരുന്ന തെറ്റ് തിരുത്തിയിട്ടുണ്ട്

@

ഫിലിപ്പ് സാറിന്റെ പസിലിനു ഉത്തരം ഇതുവരെ ബ്ലോഗില്‍ കമെന്റി കാണുന്നില്ല.

എന്‍റെ ഊഹം ഇതാണ്

we know square root of 4 same as 4 power (exponential) 1/2

so please see the python program


print 4**1/2

ഉത്തരം കിട്ടുന്നു എന്നാല്‍ താഴെ കൊടുത്ത പ്രോഗ്രാം കൂടി ചെയ്തു നോക്കൂ


print 625**1/2


25 പകരം 312 ആണ് കിട്ടുന്നത് .എന്നാല്‍ താഴെ ഉള്ള പ്രോഗ്രാം ലൈന്‍ കൂടി പരീക്ഷിക്കൂ
#please copy paste below program

print 625**.5 # the value of 1/2 is .5 output of this line is 25
print 625**1.0/2.0 # output is again 312.5
print 625**(1.0/2) # output is 25
print 625**(1/2) # again false answer 1
''' please remember
operaters precedence in mathematics

'''

ഇനി സാറിന്‍റെ പസിലിന് ഉത്തരം കാണാന്‍ ശ്രമിച്ചു നോക്കാം

Santhosh Thottingal സന്തോഷ് തോട്ടിങ്ങല്‍ June 18, 2010 at 11:09 AM  

പൈത്തണ്‍ മൂന്നാം പതിപ്പു മുതല്‍ മലയാളത്തിലുള്ള വേര്യബിള്‍സും, ഫങ്ഷനുകളും ക്ലാസുകളുമൊക്കെ ആവാം
പേര് = "മലയാളം"
എന്നതു് python3 ല്‍ സാധ്യമാണു്!

http://wiki.python.org/moin/MalayalamLanguage നോക്കൂ

പിന്നെ ഈ പോസ്റ്റില്‍ പറഞ്ഞ മലയാളം പൈത്തണ്‍ പ്രോഗ്രാമിന്റെ എന്‍കോഡിങ്ങ് സ്പെസിഫിക്കേഷന്‍ ലൈന്‍
# -*- coding: iso-8859-15 -*-
എന്നതില്‍ നിന്നും
# -*- coding: utf-8 -*-
എന്നതാക്കിയാല്‍ കുറച്ചുകൂടി ശരിയായി. utf-8 ആണു് പരക്കെ അംഗീകരിക്കപ്പെട്ടതും, പൈത്തണ്‍ 3 ല്‍ സ്വതവേ വരുന്നതുമായ എന്‍കോഡിങ്ങ്.
ബ്ലോഗിനു് ആശംസകള്‍!

Unknown June 18, 2010 at 1:25 PM  

സ്വനലേഖയുടെ മുഖ്യപ്രചാരശില്പികളിലൊരാളായ സന്തോഷ് തോട്ടുങ്കലിന് സ്വാഗതം. താങ്കളെഴുതിയ സ്വനലേഖയെപ്പറ്റിയുള്ള ഒട്ടേറെ ലേഖനങ്ങള്‍ കണ്ടിട്ടുണ്ട്. ഇതേപ്പറ്റിയുള്ള ഒരു ലേഖനം ഈ ബ്ലോഗിലും പ്രസിദ്ധീകരിക്കാമോ?

Anonymous June 18, 2010 at 9:40 PM  

സന്തോഷ് തോട്ടുങ്ങലിന് ബ്ലോഗിലേക്ക് സ്വാഗതം!
ഇടയ്ക്കിടെ തെരക്കുകള്‍ക്കിടയിലും ഇവിടെ പ്രതീക്ഷിക്കട്ടേ..?
ലേഖനം അയച്ചുതരേണ്ട വിലാസം mathsekm@gmail.com
നന്ദി സാര്‍!
പരിചയപ്പെടുത്തിയ സുനില്‍ സാറിനും നന്ദി!

ഫിലിപ്പ് June 19, 2010 at 12:31 PM  

സന്തോഷ് സാര്‍,

പാഠത്തില്‍ താങ്കള്‍ പറഞ്ഞത് ഉള്‍പ്പെടുത്തിയിട്ടുണ്ട്.നന്ദി.

-- ഫിലിപ്പ്

ഫിലിപ്പ് June 19, 2010 at 1:16 PM  

Arun M-ന്റെ സംശയം:
##############################################

Hello Sir
"Hello World" ന്റെ മലയാളം പതിപ്പു ഉണ്ടാക്കാനുള്ള ശ്രമം നടത്‌തി. പക്ഷെ code copy ചെയ്തപ്പൊ gedit-‍ല്‍ ലഭിച്ച code-ന്റെ ഏതാനും വരികള്‍ താഴെ ചേര്‍ക്കുന്നു

# -*- coding: iso-8859-15 -*-

# (ഹാവൂ! ഇനി മലയാളത്തില്‍ കമന്റുകള്‍ എഴുതാം!‌)

എനിക്കു ലഭിച്ച copy ചെയ്ത code-ന്റെ ബാക്കിയുള്ള ഭാഗങ്ങളും ഇതു പൊലെയാണു.
Terminal -ല്‍ മുഴുവന്‍ code execute ചെയ്തപ്പൊള്‍ കിട്ടിയ output താഴെ ചേര്‍ക്കുന്നു.

സ്വാഗതം!

സര്‍.. എന്താനു ഇവിടെ സംഭവിച്ചത്???

##############################################

അരുണ്‍,

ഇവിടെ പറഞ്ഞതുപോലെയൊക്കെത്തന്നെയാണ് സംഭവിച്ചത്. ഇതത്ര ശരിയല്ലല്ലോ എന്ന് ഇനിയും തോന്നുന്നുണ്ടെങ്കില്‍ പാഠവും പ്രോഗ്രാമും ഒന്നുകൂടെ വായിച്ചുനോക്കൂ. പ്രോഗ്രാമിന്റെ ഭാഗമായി കമന്റുകള്‍ എഴുതുന്നതിനെപ്പറ്റി പറഞ്ഞത് എന്താണെന്ന് നോക്കൂ.

-- ഫിലിപ്പ്

Unnikrishnan.R June 20, 2010 at 7:25 PM  

Python is programming language that let you make work from quickly and integrate your system more effectively. Its easy to learn and lower maintenance costs.
__________________
THANKSSS
ithu pole c++,vb thudangiya programming bhashakale lalithamyi blogil avatharippikkanam eenu abhyathikkunnu

KIRANAM June 20, 2010 at 11:20 PM  

എന്റെ പൈതോന്‍ ക്ലാസിനു ശേഷം ഹയര്‍ സെക്കന്ററി കമ്പ്യൂട്ടര്‍ അപ്ലിക്കേഷന്‍ അടിസ്ഥാന മാകിയുല്ല ഒരു ബ്ലോഗ്‌ പ്രസിദ്ധീകരിക്കാന്‍ ഉധേഷിക്കുന്നുണ്ട്.ഈ ബ്ലോഗില്‍ VB യും HTML SQL എന്നിവ പഠിക്കാനുള്ള അവസരം ഉണ്ടാകും .ഏകദേശം ഒരു മാസത്തിനകം തുടങ്ങാന്‍ സാധിക്കുമെന്ന് കരുതുന്നു.

ഹോംസ് June 23, 2010 at 9:02 PM  

മൂന്നാം പാഠത്തിനായി കാത്തിരിക്കുന്നു.

ഫിലിപ്പ് June 24, 2010 at 7:50 AM  

ഹോംസ് സാര്‍,

മൂന്നാം പാഠം തയ്യാറായി വരുന്നുണ്ട്. യാത്രകളിലായതിനാല്‍ ഉദ്ദേശിച്ച സമയത്ത് പാഠം പൂര്‍ത്തിയാക്കി പ്രസിദ്ധീകരിക്കാന്‍ കഴിഞ്ഞില്ല. ഒന്നു രണ്ടു ദിവസങ്ങള്‍ക്കകം പോസ്റ്റാം.

-- ഫിലിപ്പ്

KIRANAM June 24, 2010 at 10:51 PM  

എന്റെ പൈതോന്‍ ക്ലാസ്സ്‌ ഇപ്പോള്‍ ചുഴി യില്‍ എത്തി പെട്ടിരിക്കുന്നു

Babuji Jose November 8, 2010 at 8:54 PM  
This comment has been removed by the author.
Babuji Jose November 8, 2010 at 8:58 PM  

മഹാരഥന്മാരെ,
മാത്സ് ബ്ലോഗും ലിനക്സ് റ്റിപ്സും പൈതണ്‍ പാഠങ്ങളും ഒക്കെ ഈയിടെയാണ് കാണാനും പരീചയപ്പെടാനും സാധിച്ചത്.ഞാന്‍ അന്തിച്ച് നില്കുകയാണ്.ഒപ്പം ഓടിയെത്താന്‍ സാധിക്കുമോ?ഈ കൂട്ടായ്മയില്‍ കൂടാന്‍ വൈകീയതില്‍ കുണ്ഠിതമുണ്ട്. ഒരു കൈ നോക്കീക്കളയാം.

വി.കെ. നിസാര്‍ November 8, 2010 at 10:00 PM  

ഒട്ടും അമാന്തിക്കേണ്ട ചെമ്പകശ്ശേരി സാറേ..
മറ്റൊരു 'മഹാരഥനാ'യി കൂടെ ചേര്‍ന്നോളൂ..
സ്വാഗതം!

ഫിലിപ്പ് November 9, 2010 at 11:59 AM  

ചെമ്പകശ്ശേരില്‍ സാര്‍,

മാത്‌സ് ബ്ളോഗ് കൂട്ടായ്മയിലേക്ക് സ്വാഗതം. പൈത്തണ്‍ പാഠങ്ങള്‍ വായിക്കുമ്പോള്‍ രണ്ടുകാര്യങ്ങള്‍ പ്രത്യേകം ശ്രദ്ധിക്കുക:

1. പാഠങ്ങളിലുള്ള പ്രവര്‍ത്തനങ്ങള്‍ നിശ്ചയമായും ചെയ്തുനോക്കുക. സംശയങ്ങളുണ്ടെങ്കില്‍ (പാഠത്തില്‍ പറഞ്ഞിരിക്കുന്നതുപോലെ കാര്യങ്ങള്‍ നടക്കുന്നില്ലെങ്കിലും) മടികൂടാതെ ചോദിക്കുക.

2. കമന്റുകള്‍ കൂടി വായിച്ചുനോക്കുക. കുറേ സംശയങ്ങള്‍ക്കുള്ള മറുപടികള്‍ അവിടെ കിട്ടും.

-- ഫിലിപ്പ്

Unknown May 1, 2012 at 8:26 PM  

keep up the good work........

Dr.Sukanya June 22, 2012 at 2:04 PM  

Please Attach PDF copies of chapters 2,3,4,5,6,7 and 8

ഫിലിപ്പ് June 22, 2012 at 8:48 PM  

Done. See if you can get them from the sidebar.

BMe October 21, 2012 at 9:28 PM  

പൈത്തൺ എങ്ങനെയാണ് വിന്‍ഡോസില്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യുകയെന്നും ഞാന്‍ പറഞ്ഞു തരാം
ആദ്യം..
പൈത്തൺ (പ്രോഗ്രാമിങ്ങ് ഭാഷ) ഇവിടെ നിന്നും ഡൌണ്‍ലോഡ് ചെയ്യാം
http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi

പിന്നെ പൈത്തൺ കോഡ് എഡിറ്റ്‌ ചെയ്യാന്‍ ഉള്ള gedit windows version ഇവിടെ നിന്നും ഡൌണ്‍ലോഡ് ചെയ്യാം.
http://ftp.gnome.org/pub/GNOME/binaries/win32/gedit/2.30/gedit-setup-2.30.1-1.exe

ഇനി പൈത്തൺ എന്ന സോഫ്റ്റ്‌വെയര്‍ നമുക്ക് വിന്‍ സേവിനില്‍(win7) ഇന്‍സ്റ്റാള്‍ ചെയ്യാം

പൈത്തൺ ഇന്‍സ്റ്റാള്‍ ചെയ്യുമ്പോള്‍ C:\Python27\ എന്ന ഡിക്ഷ്ണറി ആണ് കാണിക്കുക അത് മാറ്റി C:\Python\ എന്ന് ആക്കുക. ഇങ്ങനെ മാറ്റണം എന്ന് നിര്‍ബ്ബന്ധം ഒന്നുമില്ല എന്നാലും ഒരു രസം.

ബാക്കിയെല്ലാം നെക്സ്റ്റ്,എസ് ഒക്കെ അടിച്ചു ഇന്‍സ്റ്റാള്‍ ചെയ്തോ.
അപ്പൊ പൈത്തൺ ഇന്‍സ്റ്റാള്‍ ആയില്ലേ..?
------------------
കൂടുതല്‍ വിവരങ്ങള്‍ക്ക് ഈ മലയാളം ബ്ലോഗ്‌ സന്ദര്ശിക്കു..
http://xybersec.blogspot.in/2012/10/7.html

Faisal Vafa August 8, 2013 at 9:35 PM  

Good job philip sir

Anonymous April 29, 2015 at 7:48 PM  

Sir,
5698566552655665655469255556 %4 gives 0L
what is it means?
i think % is modulo division

Anonymous April 13, 2016 at 10:23 PM  

എനിക്ക് പ്രോഗ്രാമ്മിംഗ് ഇഷ്ടമാണ് .ഇത്തരം പോസ്റ്റുകൾ php,html,css,c++,c,JAVA,jquery തുടങ്ങിയവയിലേക്കും വ്യാപിപ്പിക്കുമെന്ന് പ്രദീക്ഷിക്കുന്നു .പിന്നെ മറ്റൊരുകാര്യം g-edit നെ കളും നല്ല സോഫ്റ്റ്‌വെയർ ആണ് Sublime Text ഇത് സൗജന്യമാണ്,LINUX,WINDOWS,MAC ഇവയിൽ ഇത് ലഭ്യമാണ്'

പകര്‍പ്പവകാശ സൂചന

SyntaxHighlighter