.

.

মঙ্গলবার, ১৫ ডিসেম্বর, ২০১৫

পাইথন প্রোগ্রামিং :: পাইথন এর লিস্ট আসলে কী, কেন, ও কীভাবে এটি ব্যবহার করতে হয়

List : পাইথনে লিস্ট হল সাধারণ যেকোন লিষ্ট এর মতই । তবে সাধারণ লিষ্ট এর সাথে এর গণনার কিছু পার্থক্য আাছে । আসুন আমরা একটি ছোট উদাহরণ এর মাধ্যমে এর ব্যবহার জেনে নিই ।

1
2
3
4
5
select_month = int(input("What month (1-12)? "))
months =['January', 'February', 'March', 'April', 'May', 'June', 'July',
         'August', 'September', 'October', 'November', 'December']
if 1 <=select_month <= 12:
    print("The month is",months[select_month - 1])
দেখুন , এখানে আামরা বারো মাসের নাম নিয়ে একটি লিস্ট তৈরী করেছি । লিস্ট লেখার নিয়মগুলি ভাল ভাবে উদাহরণ থেকে দেখে নিন । এখন দেখুন সাধারণ যেকোন লিস্ট এর সাথে এর বেসিক পার্থক্য হল পাইথনের লিস্ট এর প্রথম যে উপাদান টি থাকে তার অবস্থান ধরা হয় ০ । ফলে এখানে 'January', এর অবস্থান ধরা হবে ০ । এবার বলা হয়েছে যে যদি select_month এর ইনপুট ১ অপেক্ষা বড় হয় এবং ১২ অপেক্ষা ছোট হয় তবে select_month থেকে ১ বিয়োগ করে months এর সংখ্যা প্রিন্ট করতে । অর্থাত যদি মাসের ইনপুট হয় ৫ তবে মাসের সংখ্যা হবে ৪ , কারণ প্রথম মাসের মান ০ । আবার সংখ্যা লিস্টের মধ্যে থাকলে তার জন্যে "" চিহ্ন দেওয়ার দরকার নেই । এবার আসুন আমরা লিষ্টের আরও কিছু ব্যবহার জেনে নিই । নিচের কোডগুলি লিখুন :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
demolist =["life", 42, "the universe", 6, "and", 9]
print("demolist = ",demolist)
demolist.append("everything")
print("after 'everything' was appended demolist is now:")
print(demolist)
print("len(demolist) =", len(demolist))
print("demolist.index(42) =",demolist.index(42))
print("demolist[1] =",demolist[1])
print("demolist is now: ",demolist)
del demolist[2]
print("After 'the universe' was removed demolist is now:")
print(demolist)
if "life" in demolist:
    print("'life' was found in demolist")
else:
    print("'life' was not found in demolist")
if "techtunes" in demolist:
    print("'techtunes' was found in demolist")
if "techtunes" not in demolist:
    print("'techtunes' was not found in demolist")
দেখুন এখানে প্রথমে আমরা একটি লিস্ট তৈরী করেছি । তার পর বিভিন্ন ভাবে সেটি এডিট করেছি । আসুন আমরা জেনে নিই কোন কোডটির কী অর্থ :
print("demolist = ",demolist) : লিস্টটি প্রিন্ট করার জন্য ব্যবহৃত হয়েছে ।
.append : লিস্ট এ কোন কিছু যোগ করার জন্য append কোডটি ব্যবহৃত হয় । যেমন demolist.append("techtunes") লিখলে techtunes লেখাটি লিস্ট এর মধ্যে যুক্ত হবে ।
len(demolist) : লিস্টে কতগুলি সদস্য আছে তা নির্ণয় করার জন্য বা লিষ্টের দৈঘৃ মাপার জন্য len কোডটি ব্যবহৃত হয় ।
.index : লিষ্টের কোন সদস্য টি কত নম্বর অবস্থানে আছে তা নির্ণয়ের জন্য এটি ব্যবহৃত হয় । যেমন : demolist.index(42) লেখাটি লিষ্টে ৪২ এর অবস্থান বলে দেবে ।
del : লিস্টটি থেকে কোন উপাদান মুছে ফেলার জন্য এই কোডটি ব্যবহৃত হয় । যেমন : del demolist[2] দিলে এটি লিস্টের ২ নম্বর আইটেম টিকে মুছে ফেলবে । এরপরের গুলি আশা করি আপনারা বুঝতে পরবেন । আগের পর্বে এসব সম্পর্কে আলোচনা করেছিলাম । এবার আসুন একটা বড় প্রোগ্রাম নিয়ে একটু নাড়াচাড়া করি আমরা লিস্টের মাধ্যমে একটু ব্যবহার কারীর সাথে যোগাযোগ করি ।
নিচের কোডটি সবাই লিখুন :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
menu_item = 0
namelist =[]
while menu_item != 9:
    print("--------------------")
    print("1. Print the list")
    print("2. Add a name to the list")
    print("3. Remove a name from the list")
    print("4. Change an item in the list")
    print("9. Quit")
    menu_item = int(input("Pick an item from the menu: "))
    if menu_item == 1:
        current = 0
        if len(namelist) > 0:
            while current < len(namelist):
                print(current, ".",namelist[current])
                current =current + 1
        else:
            print("List is empty")
    elif menu_item == 2:
        name = input("Type in a name to add: ")
        namelist.append(name)
    elif menu_item == 3:
        del_name = input("What name would you like to remove: ")
        if del_name in namelist:
 
            item_number =namelist.index(del_name)
            del namelist[item_number]
        else:
            print(del_name, "was not found")
    elif menu_item == 4:
        old_name = input("What name would you like to change: ")
        if old_name in namelist:
            item_number =namelist.index(old_name)
            new_name = input("What is the new name: ")
            namelist[item_number] =new_name
        else:
            print(old_name, "was not found")
print("Goodbye")
এখন দেখুন প্রথমে আমরা menu_item নামে একটি ভ্যরিয়েবল নিয়েছি ও namelist =[] দ্বারা একটি খালি লিস্ট নিয়েছি । এরপর বলেছি যে যতক্ষণ না পর্যন্ত menu_item এর ইনপুট ৯ না হয় ততক্ষণ নিচের লেখাগুলি প্রিন্ট করতে ও menu_item এর মান ইনপুট নিতে । এরপর আমরা একেকটি মেনু আইটেমের জন্য একেক রকম কাজ নির্ধারণ করে দিয়েছি । বলেছি যে মেনু আইটেমের মান ১ হলে বর্তমানে লিস্টে কিছুই থাকে না । তাই current বা বর্তমানে লিস্টে আইটেমের সংখ্যা ০ । এবার বলেছি যদি namelist এর দৈর্ঘ ০ থেকে বড় হয় তবে যতক্ষণ বর্তমান সংখ্যা namelist এর দৈর্ঘের থেকে ছোট হয় ততক্ষণ current এর সংখ্যা ও namelist প্রিন্ট করে যেতে । বর্তমান সংখ্যা len(namelist) এর থেকে ছোট হবে কারণ ওই ০ থেকে লিস্ট গণনার কারণে । কোডটি লিখে রান করালে আপনারা বিষয়টি আরও ভালভাবে বুঝতে পারবেন । তারপর current এর সাথে ১ যোগ করে যাও । আর তা না হয়ে যদি namelist খালি হয় তবে List is empty লেখাটি প্রিন্ট করো । এরপর যদি মেনু আইটেম এর ইনপুট হয় ২ তাহলে যে সংখ্যাটি লিস্টে যোগ করতে হবে name ভ্যরিয়েবল দ্বারা তার ইনপুট নাও ও লিস্টে append কোডটি দ্বারা যোগ কর । তারপর আমরা মেনু আইটেম ৩ এর জন্য নির্ধারণ করেছি লিস্ট থেকে আইটেম বাদ দেওয়া । এখন মেনু আইটেম ৩ হলে del_name নামক ভ্যরিয়েবল দ্বারা যে নামটি লিস্ট থেকে ডিলিট করতে হবে তার ইনপুট নাও । যদি নামটি লিস্টের মধ্যে থাকে তবে নামটি লিস্টের কোন আইটেম নাম্বারের সাথে মেলছে তা item_number =namelist.index(del_name) কোডটি দ্বারা item_number ভ্যরিয়েবলের মাধ্যমে খুজে বের কর । তারপর del কোডটি দ্বারা নামটি ডিলিট করো । আর নামটি লিস্টে না থাকলে প্রিন্ট করো del_name was not found । এবার আসি নাম চেন্জ করার ক্ষেত্রে । মেনু আইটেম এর ইনপুট ৪ হলে old_name নামক ভ্যরিয়েবল দ্বারা যে পুরান নামটি চেন্জ করতে হবে তার ইনপুট নাও । এখন ইনপুট দেওয়া নাম যদি নেমলিস্টে থাকে তবে লিস্টের কোন আইটেম নাম্বারের সাথে এটি মিলে তা দেখো । আর যদি মেলে তবে new_name নামক ভ্যরিয়েবল দ্বারা যে নতুন নামটি পুরান নামটিকে প্রতিস্থাপন করবে তার ইনপুট নাও । এরপর namelist[item_number] =new_name কোডের মাধ্যমে নামটি চেন্জ করো । আর ইনপুট কৃত নামটি লিস্টে না থাকলে old_name, "was not found" লেখাটি প্রিন্ট করো ।
আর মেনু আইটেম এর ইনপুট যদি ৯ হয় তবে Goodbye লেখাটি প্রিন্ট করো ।

M05T4F4

About M05T4F4

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :