পাইথন – input

এর আগের প্রোগ্রাম গুলতে আমরা শুধু কিছু ভ্যারিয়েবল ডিক্লেয়ার করেছি, সেগুলো আউটপুট দিয়েছি। আমাদের প্রোগ্রামে ব্যবহারকারী থেকে কোন কিছু ইনপুট নিতে হতে পারে। আমাদের বাস্তব জীবনের প্রোগ্রাম গুলো যেমন হয় আরকি। আর তার জন্য ব্যবহার করা হয় input ইনপুট নিয়ে তা একটা ভ্যারিয়েবলে এসাইন করার জন্য নিচের মত করে লেখা হয়ঃ

var = input()

উপরের প্রোগ্রামে আমরা ব্যবহার কারী থেকে কিছু একটা ইনপুট নিয়েছি এবং তা var নামক ভ্যারিয়েবল এ রেখেছি। কি ইনপুট নিয়েছি তা দেখতে এবার দেখার জন্য প্রিন্ট করে দেখতে পারিঃ

var = input()
print (var)

উপরের প্রোগ্রাম রান করার পর কনসোলে কোন কিছু লিখে এন্টার চাপলে তা আউটপুট দেখাবে। কিন্তু আমাদের প্রোগ্রামে বলে দিতে হবে ব্যবহার কারীকে কি ইনপুট দিতে হবে। যেমন আমরা যদি ব্যবহার কারীর নাম ইনপুট নিতে চাই, তাহলে লিখব এভাবেঃ

name = input('Enter your name: ')
print('Hello', name)

আমরা যদি ব্যবহার কারী থেকে একটা নাম্বার ইনপুট নিতে চাই, তারপর ঐ নাম্বারের স্কোয়ার প্রিন্ট করতে চাই। তার জন্য আমাদের প্রথমে নাম্বারটি ইনপুট নিতে হবে। এর আগের প্রোগ্রামে আমরা একটা স্ট্রিং ইনপুট নিয়েছি।

নাম্বার যখন ইনপুট দিব, তাও স্ট্রিং হিসেবেই গ্রহন করবে। যেমনঃ

number =  input('Enter a number: ') 
square = number * number
print ('Square is', square)

উপরের প্রোগ্রামটি কাজ করবে না। কারণ এখন নাম্বারটি একটা স্ট্রিং ই রয়েছে। আরেকটা উদারহণ দিচ্ছিঃ

number1 =  input('Enter 1st number: ') 
number2 =  input('Enter 2nd number: ')  
addition  = number1 + number2
print ('Addition is', addition )

উপরের প্রোগ্রামটি যখন রান করি, তখন আমাদের থেকে দুইটা নাম্বার ইনপুট নিবে। তারপর নাম্বার গুলো যোগ করার কথা addition = number1 + number2 দিয়ে। কিন্তু তা না করে স্ট্রিং কনকেটিনেশন করেছে। কারন এখনো নাম্বারটি স্ট্রিং হিসেবে রয়েছে। যেমন ইনপুট হিসেবে 12 এবং 31 দিলে নিচের মত আউটপুট পাবোঃ

Addition is 1231

তার জন্য আমাদের ইনপুট নিয়ে তা ইন্টিজারে কনভার্ট করে নিতে হবে। তা সহজ. int(num) এভাবে যে কোন ভ্যালিড নাম্বার দিলে তা আমাদেরকে ইন্টিজারে কনভার্ট করে দিবে। আমাদের স্কোয়ার বের করার প্রোগ্রামটিঃ

number =  input('Enter a number: ') 

number = int(number)

square = number * number
print ('Square is', square)

প্রথমে আমরা নাম্বারটি ইনপুট নিয়েছি। পরে number = int(number) দিয়ে নাম্বারটিকে ইনপুট নিয়ে আবার নাম্বার ভ্যারিয়েবলে রেখে দিয়েছি। পরে স্কোয়ার বের করেছি এবং শেষে তা প্রিন্ট করেছি।

যোগ করার প্রোগ্রামটিঃ

number1 =  input('Enter 1st number: ') 
number1 = int(number1)

number2 =  input('Enter 2nd number: ')  
number2 = int(number2)

addition  = number1 + number2
print ('Addition is', addition )

আমরা number = int(number) এ লাইনটি না লিখে চাইলে প্রথম লাইনেই ইন্টিজারে কনভার্ট করতে পারিঃ

number =  int(input('Enter a number: '))
square = number * number
print ('Square is', square)

আমরা যদি কোন দশমিক নাম্বার ইনপুট নিতে চাই, তার জন্য ইন্টিজারে কনভার্ট না করে আমরা কনভার্ট করব ফ্লোট্রিং পয়েন্ট নাম্বারে। তার জন্য int() এর পরিবর্তে ব্যবহার করব float()

উপরের যোগ বের করার প্রোগ্রামে যদি কোন ফ্লোট্রিং পয়েন্ট নাম্বার বা দশমিক নাম্বার ইনপুট দিয়ে টেস্ট করি, তাহলে তা এরর দেখাবে। আমরা যোগ তো কোন দশমিক সংখ্যার ও বের করতে পারি। তাই উপরের প্রোগ্রামটিকে এভাবে লিখবঃ

number1 =  input('Enter 1st number: ') 
number1 = float(number1)

number2 =  input('Enter 2nd number: ')  
number2 =float(number2)

addition  = number1 + number2
print ('Addition is', addition )

উপরের প্রোগ্রাম দিয়ে এখন যে কোন সংখ্যাই যোগ করা যাবে।

এবার আরেকটু কমপ্লেক্স একটা প্রোগ্রাম লেখার চেষ্টা করি। সমষ্টি বের করার প্রোগ্রাম লিখব। ব্যবহার কারীকে প্রথমে জিজ্ঞেস করে নিবে, কয়েটি সংখ্যার সমষ্টি করতে চায়। তারপর একটা একটা করে সব গুলো সংখ্যা আমরা ইনপুট নিব। এবং শেষে সমষ্টি / যোগফল প্রিন্ট করবঃ

তার জন্যঃ

total_input =  int( input('How many number you want to add: ') )
count =1;
total = 0.0;

while count <= total_input:
    number =  float(input("Enter number " +  str(count) +":"))
    total +=number
    count +=1
     
print ('Summation is', total )

উপরের প্রোগ্রামটি আমারা যত গুলো প্রগ্রাম ইনপুট দিব, সব গুলোর যোগফল বা সমষ্টি বের করে দিবে। আমরা চাইলে গড় বের করতে পারি। তার জন্য যত গুলো সংখ্যা ইনপুট নিয়েছি, সব গুলোকে যোগ করার পর টোটাল সংখ্যা দিয়ে ভাগ দিলেই গড় বের হয়ে যাবেঃ

total_input =  int( input('How many number you want to add: ') )
count =1;
total = 0.0;

while count <= total_input:
    number =  float(input("Enter number " +  str(count) +":"))
    total +=number
    count +=1

average = total / total_input     
print ('Average is', average )

4 thoughts on “পাইথন – input”

Leave a Reply