நிரலாக்குநர் அல்லாதவருக்கான பைத்தன் 2.7 பயிற்சி/உங்கள் பெயர் என்ன?

விக்கிநூல்கள் இலிருந்து

உள்ளீடும் மாறிகளும்[தொகு]

print "நிற்க!"
user_reply = raw_input("உங்கள் பெயர் என்ன? ")
print "நீங்கள் செல்லலாம், நல்வரவாகட்டும்", user_reply

சேரன் என்ற உள்ளீட்டுக்குக் (Input) கிடைக்கும் வெளியீடு இங்கே காட்டப்பட்டுள்ளது.

நிற்க!
உங்கள் பெயர் என்ன? சேரன்
நீங்கள் செல்லலாம், நல்வரவாகட்டும் சேரன்

குறிப்பு: நீங்கள் செய்நிரலை இயக்கியதும்

நிற்க!
உங்கள் பெயர் என்ன?

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

இங்கு raw_input() என்ற கூற்றுப் பயன்படுத்தப்பட்டதன் காரணமாக, செய்நிரலில் ஏற்பட்ட மாற்றத்தை நீங்கள் கவனித்திருப்பீர்கள். இச்செய்நிரலை இயக்கும்போது, உங்கள் பெயரை உள்ளிட்டு, உள்ளிடுவிசையை அழுத்தவேண்டியிருந்தது. இதன்பின்னர், கணினியானது உங்கள் பெயரை உள்ளடக்கிய ஓர் உரைப்பகுதியைப் பதித்தது. இது உள்ளீட்டுக்கான ஓர் எடுத்துக்காட்டு ஆகும். இங்கு, ஒரு குறித்த இடத்தை அடைந்ததும், செய்நிரலானது நிறுத்தப்படுகின்றது. பயனர் உள்ளீட்டை வழங்கியதும் செய்நிரலின் இயக்கம் தொடர்கின்றது.

பயனரிடமிருந்து பெறும் உள்ளீட்டைச் சேமித்துவைப்பதற்கு ஓர் இடம் தேவை. இதற்காகவே மாறிகள் பயன்படுகின்றன. மேலேயுள்ள செய்நிரலில் user_reply என்பது ஒரு மாறி. தரவுகளைத் தேக்கிவைப்பதற்காக இம்மாறிகள் பயன்படுகின்றன. மாறிகளுக்கான சில எடுத்துக்காட்டுகளைப் பின்வரும் செய்நிரலில் காணலாம்.

a = 123.4
b23 = "Python."
language_of_book = "தமிழ்"
b = 432
c = a + b
print "a + b =", c
print "நூல் எழுதப்பட்டுள்ள மொழி:", language_of_book
print "I love", b23

வெளியீடு:

a + b = 555.4
நூல் எழுதப்பட்டுள்ள மொழி: தமிழ்
I love Python.

இச்செய்நிரலில் a, b23, language_of_book, b, c என்பன மாறிகள் ஆகும். பைத்தன் மொழியில், இம்மாறிகளில் எவ்வகையான தரவையும் தேக்கிவைக்கலாம். மேலேயுள்ள செய்நிரலில் சில சரங்களையும் (எ-டு: "Python.") சில எண்களையும் (எ-டு: 123.4) தேக்கிவைத்தோம்.

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

print "language_of_book"

இது மேற்கோட்குறிகளினுள் உள்ள உரையை அவ்வாறே பதிக்கும்.

language_of_book

மேலேயுள்ள எடுத்துக்காட்டுக்குப் பின்,

print language_of_book

என்ற வரியைச் சேர்த்தால்,

தமிழ்

என்ற வெளியீடு கிடைக்கும்.

ஒதுக்குதல்[தொகு]

சரி, தரவுகளைத் தேக்கிவைப்பதற்கு மாறிகள் பயன்படுகின்றன என்று இப்போது கற்றுள்ளோம். language_of_book = "தமிழ்" என்ற வரியைக் கண்டதும் கணினியானது language_of_book என்ற மாறிக்குத் தமிழ் என்ற சரத்தை ஒதுக்குகின்றது. c = a + b என்ற கூற்றைக் கண்டதும் c என்ற மாறிக்கு a + bஇன் பெறுமானத்தை, அதாவது 555.4 என்ற எண்ணை ஒதுக்குகின்றது. இங்கு = குறிக்கு வலப்பக்கத்திலுள்ள கூற்றான a + b மதிப்பிடப்பட்டு, மதிப்பிடப்பட்ட பெறுமானமானது இடப்பக்கத்திலுள்ள c என்ற மாறியில் தேக்கப்படுகின்றது. இச்செயன்முறையை ஒதுக்குதல் என அழைப்பர். ஒதுக்குவதற்கான சமன் குறியையும் (=) கணிதச் சமனையும் (இதற்காக == என்பதைப் பின்னர் பயன்படுத்துவோம்.) குழப்பிக்கொள்ளவேண்டாம்.

இன்னோர் எடுத்துக்காட்டு:

a = 1
print a
a = a + 1
print a
a = a * 2
print a

வெளியீடு:

1
2
4

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

இன்னொரு செய்நிரல்:

number = input("ஓர் எண்ணை உள்ளிடுங்கள்: ")
text = raw_input("ஒரு சரத்தை உள்ளிடுங்கள்: ")
print "number =", number
print "number is a", type(number)
print "number * 2 =", number * 2
print "text =", text
print "text is a", type(text)
print "text * 2 =", text * 2

நாம் பெற்ற வெளியீடு:

ஓர் எண்ணை உள்ளிடுங்கள்: 12.4
ஒரு சரத்தை உள்ளிடுங்கள்: பைத்தன்
number = 12.4
number is a <type 'float'>
number * 2 = 24.8
text = பைத்தன்
text is a <type 'unicode'>
text * 2 = பைத்தன்பைத்தன்

சரத்திற்கு ஆங்கில உரையையும் உள்ளிட்டுப் பாருங்கள்.

text is a <type 'str'>

என்ற வெளியீடு கிடைக்கும். இங்கு numberஆனது input() மூலம் உள்ளிடப்பட்டதையும் textஆனது raw_input() மூலம் உள்ளிடப்பட்டதையும் கவனித்துக்கொள்ளுங்கள். input()ஆனது ஓர் எண்ணையும் raw_input()ஆனது ஒரு சரத்தையும் திரும்பவழங்குகின்றன (Return). பயனர் ஓர் எண்ணை உள்ளிடவேண்டுமெனின், input() என்பதையும் பயனர் ஒரு சரத்தை உள்ளிடவேண்டுமெனின், raw_input() என்பதையும் பயன்படுத்தலாம்.

மாறியின் வகையை அறிவதற்கு type() பயன்படுத்தப்படுகின்றது. இயல்பு முழுவெண்கள் (int), மிதவைப்புள்ளியெண்கள் (float), நீண்ட முழுவெண்கள் (long), சிக்கலெண்கள் (complex) என எண்களில் நான்கு வகைகள் உள்ளன. முழுவெண்களுக்கு intஐயும் பதின்மங்களுக்கு floatஐயும் சிக்கலெண்களுக்கு complexஐயும் பயன்படுத்தவேண்டும். நீண்ட முழுவெண்களுக்கு long பயன்படும். சரங்களில் சரங்கள் (str), ஒருங்குறிச் சரங்கள் (unicode) என இருவகைகள் உள்ளன. ஒருங்குறி வரியுருக்களுக்கு unicodeஉம் அமெரிக்கத் தகவல் இடைமாற்றத் தரக் குறிமுறை (ASCII) வரியுருக்களுக்கு strஉம் பயன்படும். கணிதச்சார்புகளில் எண்களைப் பயன்படுத்தமுடியும், சரங்களைப் பயன்படுத்தமுடியாது. ஓரெண்ணை ஒரு முழுவெண்ணால் பெருக்கும்போது அவற்றின் பெருக்கம் வெளியீடாகக் கிடைப்பதையும் ஒரு சரத்தை ஒரு முழுவெண்ணால் பெருக்கும்போது, சரத்தின் படிகள் கிடைப்பதையும் கவனத்திற்கொள்ளுங்கள் (எ-டு: text * 2 = பைத்தன்பைத்தன்).

சரங்களுக்கான செய்கைகள், எண்களுக்கான செய்கைகளிலிருந்து வேறுபட்டவை. பின்வரும் செய்நிரலை இயக்கிப்பாருங்கள்.

print "இதனை" + " " + "இணைக்கப்" + "போகிறோம்."
print "Ha, " * 5
print "Ha, " * 5 + "ha!"

வெளியீடு:

இதனை இணைக்கப்போகிறோம்.
Ha, Ha, Ha, Ha, Ha, 
Ha, Ha, Ha, Ha, Ha, ha!

அடிப்படையான இரு சரச்செய்கைகளும் பின்வருமாறு:

செய்கை குறியீடு எடுத்துக்காட்டு
மீள்செய்கை * "ஃ" * 5 == "ஃஃஃஃஃ"
இணைப்பு + "ஆறுவது " + "சினம்" == "ஆறுவது சினம்"

எடுத்துக்காட்டுகள்[தொகு]

speed_time.py

# தூரத்தையும் கதியையும் உள்ளிட்டால் எடுக்கும் நேரத்தைக் கணிக்கும் செய்நிரல்
print "கதியையும் தூரத்தையும் உள்ளிடுங்கள்."
rate = input("கதி: ")
distance = input("தூரம்: ")
print "நேரம்:", (distance / rate)

மாதிரி இயக்கங்கள்:

கதியையும் தூரத்தையும் உள்ளிடுங்கள்.
கதி: 5
தூரம்: 10
நேரம்: 2
கதியையும் தூரத்தையும் உள்ளிடுங்கள்.
கதி: 3.52
தூரம்: 45.6
நேரம்: 12.9545454545

Area.py

# செவ்வகத்தின் சுற்றளவையும் பரப்பளவையும் கணிக்கும் செய்நிரல்
print "செவ்வகத்தின் நீளத்தையும் அகலத்தையும் உள்ளிடுங்கள்."
length = input("நீளம்: ")
width = input("அகலம்: ")
print "பரப்பளவு:", length * width
print "சுற்றளவு", 2 * (length + width)

மாதிரி இயக்கங்கள்:

செவ்வகத்தின் நீளத்தையும் அகலத்தையும் உள்ளிடுங்கள்.
நீளம்: 4
அகலம்: 3
பரப்பளவு: 12
சுற்றளவு 14
செவ்வகத்தின் நீளத்தையும் அகலத்தையும் உள்ளிடுங்கள்.
நீளம்: 2.53
அகலம்: 5.2
பரப்பளவு: 13.156
சுற்றளவு 15.46

temperature.py

# பரனைற்றைச் செல்சியசுக்கு மாற்றும் செய்நிரல்
temp = input("பரனைற்று வெப்பநிலை: ")
print (temp - 32.0) * 5.0 / 9.0, "செல்சியசு"

மாதிரி இயக்கங்கள்:

பரனைற்று வெப்பநிலை: 32
0.0 செல்சியசு
பரனைற்று வெப்பநிலை: -40
-40.0 செல்சியசு
பரனைற்று வெப்பநிலை: 212
-100.0 செல்சியசு

பயிற்சிகள்[தொகு]

  1. பயனரிடமிருந்து இரு சர உள்ளீடுகளையும் இரு முழுவெண் உள்ளீடுகளையும் பெற்று, இரு சரங்களையும் (வெளிகள் ஏதுமின்றி) இணைத்துப் பதித்தபின், இரு முழுவெண்களினதும் பெருக்கத்தைப் புதிய வரியில் பதிக்கும் வகையில் ஒரு செய்நிரல் எழுதுக.
விடை

பயனரிடமிருந்து இரு சர உள்ளீடுகளையும் இரு முழுவெண் உள்ளீடுகளையும் பெற்று, இரு சரங்களையும் (வெளிகள் ஏதுமின்றி) இணைத்துப் பதித்தபின், இரு முழுவெண்களினதும் பெருக்கத்தைப் புதிய வரியில் பதிக்கும் வகையில் ஒரு செய்நிரல் எழுதுக.

  
string1 = raw_input('சரம் 1: ')
string2 = raw_input('சரம் 2: ')
int1 = input('முழுவெண் 1: ')
int2 = input('முழுவெண் 2: ')
print string1 + string2
print int1 * int2