دستور ورودی در پایتون؛ چگونه از کاربر عدد یا نوشته بگیریم؟
دستور ورودی چگونه کار میکند و چه شکلی است؟
دستور ورودی در پایتون به شکل input() نوشته میشود. وقتی برنامه به این خط میرسد، مانند این میماند که برنامه از کاربر سوالی پرسیده و منتظر میماند تا کاربر پاسخ را تایپ کند و کلید اینتر را بزند. به این کار، «دریافت ورودی از کاربر» میگوییم. برای مثال، اگر بنویسیم:
برنامه از کاربر میخواهد چیزی بنویسد. بعد از اینکه کاربر نام خود را تایپ کرد و اینتر زد، آن نام در متغیری به نام name ذخیره میشود. اما یک نکتهٔ بسیار مهم: دستور ورودی، هر چیزی که کاربر بنویسد را بهعنوان نوشته (رشته) در نظر میگیرد. یعنی اگر کاربر عدد 15 را تایپ کند، برنامه آن را عدد نمیبیند، بلکه آن را بهعنوان دو کاراکتر «یک» و «پنج» ذخیره میکند. برای اینکه بتوانیم با آن عدد محاسبه کنیم، باید آن را به عدد تبدیل کنیم که در بخش بعدی توضیح میدهیم.
میتوانیم داخل پرانتز دستور ورودی، یک پیام راهنما هم بنویسیم تا کاربر بداند چه چیزی باید تایپ کند. مانند این مثال:
در این حالت، قبل از اینکه برنامه منتظر بماند، عبارت «سن خود را وارد کن: » را به کاربر نشان میدهد و بعد منتظر میماند تا کاربر پاسخ دهد.
تبدیل ورودی به عدد و کاربردهای آن
همانطور که گفتیم، دستور ورودی همیشه یک نوشته برمیگرداند. پس اگر بخواهیم از کاربر سن یا نمرهٔ امتحان را بگیریم و روی آن عملیات ریاضی انجام دهیم، باید آن را به عدد صحیح یا اعشاری تبدیل کنیم. برای این کار از دو دستور کمکگیرنده استفاده میکنیم: int() برای عدد صحیح و float() برای عدد اعشاری. به مثال زیر توجه کنید:
در اینجا، ابتدا دستور ورودی، نوشتهٔ کاربر را میگیرد و سپس دستور int() آن نوشته را به عدد صحیح تبدیل میکند و در متغیر num ذخیره میکند. حالا میتوانیم این عدد را با عدد دیگری جمع، تفریق یا هر عملیات دیگری کنیم. اگر کاربر بهجای عدد، یک نوشته وارد کند، برنامه با پیام خطا مواجه میشود، پس بهتر است همیشه از کاربر بخواهیم دادهٔ درست وارد کند.
کاربرد این دستور در برنامههایی است که نیاز به ارتباط با کاربر دارند؛ مانند برنامهٔ محاسبهکننده، بازی حدس عدد، یا نرمافزار ثبت نمرات. بهعنوان نمونه، با استفاده از ورودی میتوانیم برنامهای بنویسیم که از کاربر دو عدد بگیرد و مجموع آنها را محاسبه و چاپ کند.
b = int(input("عدد دوم: "))
print("مجموع:", a + b)
این برنامه، دو عدد را از کاربر میگیرد و جمع آنها را چاپ میکند.
| نوع دریافت | کد نمونه | نوع دادهٔ ذخیرهشده |
|---|---|---|
| ورودی ساده | x = input() | رشته (نوشته) |
| تبدیل به عدد صحیح | x = int(input()) | عدد صحیح |
| تبدیل به عدد اعشاری | x = float(input()) | عدد اعشاری |
پرسشهای چالشی و اشتباهات رایج دربارهٔ ورودی
پرسش ۱: آیا دستور ورودی فقط برای گرفتن نوشته به کار میرود؟
بله، دستور ورودی همیشه یک رشتهٔ نوشتهای برمیگرداند، حتی اگر کاربر عدد تایپ کند. برای کار با عددها باید آن را با int() یا float() تبدیل کنیم.
پرسش ۲: اگر کاربر بهجای عدد، یک نوشته وارد کند و ما از int() استفاده کنیم، چه میشود؟
برنامه با پیام خطا متوقف میشود، زیرا نمیتواند یک نوشته را به عدد تبدیل کند. برای جلوگیری از این مشکل، میتوانیم از روشهای بررسی صحت داده استفاده کنیم.
پرسش ۳: آیا میتوانیم چند ورودی را در یک خط بگیریم؟
بله، با کمک روشهای پیشرفتهتر میتوان چند مقدار را در یک خط دریافت کرد، اما در حالت ساده، دستور ورودی فقط یک خط از کاربر میخواند و تمام نوشتهٔ آن خط را بهعنوان یک رشته برمیگرداند.
یادآوری دستور ورودی یکی از پرکاربردترین دستورها در پایتون برای ارتباط با کاربر است. همیشه به یاد داشته باشید که خروجی آن از نوع رشته است و برای محاسبات ریاضی باید آن را به عدد تبدیل کنید. با تمرین و نوشتن برنامههای ساده، بهراحتی میتوانید از این دستور استفاده کنید و برنامههای تعاملی جذابی بسازید.