Python Tutorial 16:Taking Input From Keyboard in Bengali
আপনার প্রোগ্রামকে বানান ইন্টারেক্টিভ: কীবোর্ড থেকে ইনপুট নেওয়ার কৌশল
আপনার প্রোগ্রাম কি এখন পর্যন্ত একটি রোবটের মতো কাজ করছে, যেখানে আপনি যা বলে দিচ্ছেন, সে শুধু তাই-ই করছে? কেমন হবে যদি আপনার প্রোগ্রাম ব্যবহারকারীর সাথে কথা বলতে পারে, তার কাছ থেকে তথ্য নিতে পারে এবং সেই অনুযায়ী কাজ করতে পারে?
আগের পোস্টগুলোতে আমরা বিভিন্ন গাণিতিক ফর্মুলা ব্যবহার করে প্রোগ্রাম লিখেছি। কিন্তু সেখানে একটি সীমাবদ্ধতা ছিল। এই সমস্যার সমাধান করতেই আজকের পোস্টে আমরা শিখব কীভাবে ব্যবহারকারীর কাছ থেকে কীবোর্ডের মাধ্যমে ইনপুট নিতে হয় এবং আমাদের প্রোগ্রামকে স্ট্যাটিক থেকে ডাইনামিক ও ইন্টারেক্টিভ করে তুলতে হয়।
পাইথনের জাদুকরী input()
ফাংশন
পাইথনে ব্যবহারকারীর কাছ থেকে কীবোর্ডের মাধ্যমে ডেটা নেওয়ার জন্য একটি চমৎকার বিল্ট-ইন ফাংশন রয়েছে, যার নাম input()
। এটি কল করা হলে, প্রোগ্রামটি থেমে যায় এবং ব্যবহারকারীকে একটি বার্তা দেখায়।
user_name = input("দয়া করে আপনার নাম লিখুন: ")
print("স্বাগতম,", user_name)
সবচেয়ে গুরুত্বপূর্ণ বিষয়: input()
ফাংশনের রিটার্ন টাইপ
এখানে একটি বিষয় অত্যন্ত মনোযোগ দিয়ে মনে রাখতে হবে: input()
ফাংশন ব্যবহারকারীর কাছ থেকে যা-ই গ্রহণ করুক না কেন, সেটিকে সবসময় একটি স্ট্রিং (str
) হিসেবে রিটার্ন করে।
এর মানে হলো, ব্যবহারকারী যদি 50
সংখ্যাটিও টাইপ করে, input()
ফাংশন সেটিকে সংখ্যা হিসেবে না নিয়ে, টেক্সট বা স্ট্রিং "50"
হিসেবে গ্রহণ করবে।
সমাধান: টাইপ কনভার্সন (Type Conversion)
এই সমস্যার সমাধান হলো টাইপ কনভার্সন। যখন আমাদের একটি সংখ্যাসূচক ইনপুট প্রয়োজন, তখন আমরা input()
ফাংশনটিকে int()
বা float()
ফাংশনের ভেতরে রেখে দেব।
# input() থেকে পাওয়া স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর
user_age = int(input("আপনার বয়স কত? "))
চলুন আমাদের প্রোগ্রামটিকে ইন্টারেক্টিভ করি
এবার আমরা আমাদের পুরোনো বৃত্তের ক্ষেত্রফল নির্ণয়ের প্রোগ্রামটিকে নতুনভাবে লিখব, যেখানে ব্যবহারকারী নিজেই ব্যাসার্ধের মান ইনপুট দেবে।
নতুন ইন্টারেক্টিভ প্রোগ্রাম:
# math মডিউল ইম্পোর্ট করা
import math
# ১. ব্যবহারকারীর কাছ থেকে ব্যাসার্ধ ইনপুট নেওয়া
# input() থেকে পাওয়া স্ট্রিংকে float() দিয়ে দশমিকে রূপান্তর করা হচ্ছে
circle_radius = float(input("অনুগ্রহ করে বৃত্তের ব্যাসার্ধ (radius) দিন: "))
# ২. এক্সপ্রেশন ব্যবহার করে ক্ষেত্রফল গণনা করা
circle_area = math.pi * (circle_radius ** 2)
# ৩. ফলাফল সুন্দরভাবে প্রদর্শন করা
print(f"আপনি যে ব্যাসার্ধ দিয়েছেন ({circle_radius}), তার জন্য বৃত্তের ক্ষেত্রফল হলো: {circle_area}")
প্রোগ্রামটি চালানোর সময় যা ঘটবে:
১. প্রথমে স্ক্রিনে "অনুগ্রহ করে বৃত্তের ব্যাসার্ধ (radius) দিন: "
লেখাটি আসবে।
২. আপনি একটি সংখ্যা, যেমন 11.5
টাইপ করে Enter
চাপবেন।
৩. প্রোগ্রামটি সেই ইনপুট ব্যবহার করে ক্ষেত্রফল গণনা করবে এবং ফলাফল দেখাবে।
অনুগ্রহ করে বৃত্তের ব্যাসার্ধ (radius) দিন: 11.5
আপনি যে ব্যাসার্ধ দিয়েছেন (11.5), তার জন্য বৃত্তের ক্ষেত্রফল হলো: 415.4756284344399
উপসংহার
input()
ফাংশনটি পাইথনে ব্যবহারকারী-বান্ধব এবং ইন্টারেক্টিভ অ্যাপ্লিকেশন তৈরির প্রথম ধাপ। এর মাধ্যমে আমরা আমাদের প্রোগ্রামগুলোকে আর স্থির বা স্ট্যাটিক না রেখে, জীবন্ত এবং ব্যবহারকারীর প্রয়োজন অনুযায়ী পরিবর্তনশীল করে তুলতে পারি। শুধু মনে রাখবেন, input()
থেকে পাওয়া ডেটা নিয়ে গাণিতিক কাজ করার আগে অবশ্যই int()
বা float()
ব্যবহার করে সঠিক ডেটা টাইপে রূপান্তর করে নিতে হবে।