ورودی و دستور input: دریافت اطلاعات از کاربر
دستور input چگونه کار میکند؟
دستور input مانند یک صندوق پستی است که برنامه آن را در مقابل کاربر قرار میدهد. وقتی برنامه به این دستور میرسد، اجرای خود را متوقف میکند و منتظر میماند تا کاربر چیزی را وارد کند و کلید اینتر را بزند. هر چیزی که کاربر تایپ کند، به عنوان یک نوشته (متن) دریافت میشود و در یک متغیر ذخیره میگردد.
مهم است بدانید که هر چیزی که با input دریافت میشود، همیشه از نوع نوشته (متن) است، حتی اگر کاربر یک عدد را وارد کند. برای مثال، اگر کاربر عدد 15 را وارد کند، برنامه آن را به صورت «15» (یک نوشته) دریافت میکند، نه عدد 15. بنابراین اگر بخواهیم با آن عدد محاسبه کنیم، باید آن را به عدد تبدیل کنیم.
| نوع ورودی | کاری که کاربر انجام میدهد | نوع دادهی دریافتی |
|---|---|---|
| نام | تایپ کردن نام خود | نوشته (مانند «علی») |
| سن | تایپ کردن عدد سن | نوشته (مانند «۱۳») |
| رنگ مورد علاقه | تایپ کردن نام رنگ | نوشته (مانند «آبی») |
| نمره | تایپ کردن عدد نمره | نوشته (مانند «۱۹.۵») |
کاربردهای دستور input در برنامههای واقعی
دستور input در همهی برنامههایی که نیاز به تعامل با کاربر دارند، استفاده میشود. برای مثال، در یک برنامهی سادهی محاسبهی مساحت، از کاربر میخواهیم طول و عرض مستطیل را وارد کند و سپس مساحت را محاسبه و نمایش دهد. یا در یک برنامهی دفترچه تلفن، از کاربر نام و شمارهی تلفن را دریافت میکند و در حافظه ذخیره مینماید.
در بازیهای تعاملی، از input برای دریافت انتخابهای کاربر استفاده میشود. مثلاً در یک بازی حدس عدد، کاربر عدد خود را وارد میکند و برنامه بررسی میکند که آیا درست حدس زده است یا نه. در برنامههای پرسشنامه و نظرسنجی نیز از input برای جمعآوری پاسخهای کاربران استفاده میشود.
حتی در برنامههای پیشرفتهتر مانند سیستمهای ورود به حساب کاربری، از input برای دریافت نام کاربری و رمز عبور استفاده میشود. با این تفاوت که در این موارد، معمولاً رمز عبور به صورت مخفی نمایش داده میشود. به هر حال، input یکی از اصلیترین راههای ارتباط بین کاربر و برنامه است.
پرسشهای کلیدی دربارهی ورودی و input
آیا میتوانیم بدون نمایش پیام از input استفاده کنیم؟
بله، میتوانیم input را بدون پیام بنویسیم: input(). اما این کار برای کاربر گیجکننده است چون نمیداند چه چیزی باید وارد کند. بهتر است همیشه یک پیام راهنما به کاربر نشان دهیم تا بداند چه اطلاعاتی از او خواسته میشود.
چرا خروجی input همیشه نوشته است؟
چون کاربر ممکن است هر چیزی را وارد کند: حروف، اعداد، علائم یا ترکیبی از آنها. برای اینکه برنامه بتواند هر نوع ورودی را مدیریت کند، input همهی ورودیها را به صورت نوشته دریافت میکند. سپس خود برنامهنویس تصمیم میگیرد که آیا این نوشته را به عدد تبدیل کند یا به همان صورت نوشته از آن استفاده کند.
اگر کاربر چیزی وارد نکند و اینتر بزند، چه اتفاقی میافتد؟
اگر کاربر بدون تایپ کردن، کلید اینتر را بزند، input یک نوشتهی خالی (همان «») را برمیگرداند. این میتواند برای برنامه مشکل ایجاد کند، مثلاً اگر انتظار داشته باشد یک نام معتبر دریافت کند. بنابراین بهتر است برنامه بررسی کند که ورودی خالی نباشد و در صورت لزوم از کاربر بخواهد دوباره وارد کند.