خانه
گاما

دستور input چیست؟

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/18
تعداد بازدید84
دستور input چیست؟

دستور ورودی در پایتون؛ چگونه از کاربر عدد یا نوشته بگیریم؟

آموزش گام‌به‌گام دستور input برای دریافت اطلاعات از کاربر در برنامه‌نویسی پایتون
در برنامه‌نویسی پایتون، برای اینکه برنامه بتواند از کاربری که پشت صفحه‌نمایش نشسته، یک عدد، یک عبارت یا هر داده‌ای دریافت کند، از دستوری به نام ورودی استفاده می‌کنیم. این دستور، برنامه را مکث می‌کند تا کاربر چیزی تایپ کند و بعد از زدن کلید اینتر، آنچه را کاربر نوشته، به‌عنوان یک رشتهٔ نوشته‌ای به برنامه برمی‌گرداند. در این مقاله می‌آموزیم که چطور از این دستور استفاده کنیم، چه نکاتی دربارهٔ آن مهم است و چطور داده‌های دریافتی را به عدد یا نوع دیگری تبدیل کنیم.

دستور ورودی چگونه کار می‌کند و چه شکلی است؟

دستور ورودی در پایتون به شکل input() نوشته می‌شود. وقتی برنامه به این خط می‌رسد، مانند این می‌ماند که برنامه از کاربر سوالی پرسیده و منتظر می‌ماند تا کاربر پاسخ را تایپ کند و کلید اینتر را بزند. به این کار، «دریافت ورودی از کاربر» می‌گوییم. برای مثال، اگر بنویسیم:

name = input()

برنامه از کاربر می‌خواهد چیزی بنویسد. بعد از اینکه کاربر نام خود را تایپ کرد و اینتر زد، آن نام در متغیری به نام name ذخیره می‌شود. اما یک نکتهٔ بسیار مهم: دستور ورودی، هر چیزی که کاربر بنویسد را به‌عنوان نوشته (رشته) در نظر می‌گیرد. یعنی اگر کاربر عدد 15 را تایپ کند، برنامه آن را عدد نمی‌بیند، بلکه آن را به‌عنوان دو کاراکتر «یک» و «پنج» ذخیره می‌کند. برای اینکه بتوانیم با آن عدد محاسبه کنیم، باید آن را به عدد تبدیل کنیم که در بخش بعدی توضیح می‌دهیم.

می‌توانیم داخل پرانتز دستور ورودی، یک پیام راهنما هم بنویسیم تا کاربر بداند چه چیزی باید تایپ کند. مانند این مثال:

age = input("سن خود را وارد کن: ")

در این حالت، قبل از اینکه برنامه منتظر بماند، عبارت «سن خود را وارد کن: » را به کاربر نشان می‌دهد و بعد منتظر می‌ماند تا کاربر پاسخ دهد.

تبدیل ورودی به عدد و کاربردهای آن

همان‌طور که گفتیم، دستور ورودی همیشه یک نوشته برمی‌گرداند. پس اگر بخواهیم از کاربر سن یا نمرهٔ امتحان را بگیریم و روی آن عملیات ریاضی انجام دهیم، باید آن را به عدد صحیح یا اعشاری تبدیل کنیم. برای این کار از دو دستور کمک‌گیرنده استفاده می‌کنیم: int() برای عدد صحیح و float() برای عدد اعشاری. به مثال زیر توجه کنید:

num = int(input("یک عدد صحیح وارد کن: "))

در اینجا، ابتدا دستور ورودی، نوشتهٔ کاربر را می‌گیرد و سپس دستور int() آن نوشته را به عدد صحیح تبدیل می‌کند و در متغیر num ذخیره می‌کند. حالا می‌توانیم این عدد را با عدد دیگری جمع، تفریق یا هر عملیات دیگری کنیم. اگر کاربر به‌جای عدد، یک نوشته وارد کند، برنامه با پیام خطا مواجه می‌شود، پس بهتر است همیشه از کاربر بخواهیم دادهٔ درست وارد کند.

نکتهٔ مهم: اگر کاربر عدد اعشاری مانند 12.5 وارد کند و ما از int() استفاده کنیم، برنامه با خطا روبه‌رو می‌شود. برای عددهای اعشاری باید از float() استفاده کنیم.

کاربرد این دستور در برنامه‌هایی است که نیاز به ارتباط با کاربر دارند؛ مانند برنامهٔ محاسبه‌کننده، بازی حدس عدد، یا نرم‌افزار ثبت نمرات. به‌عنوان نمونه، با استفاده از ورودی می‌توانیم برنامه‌ای بنویسیم که از کاربر دو عدد بگیرد و مجموع آن‌ها را محاسبه و چاپ کند.

a = int(input("عدد اول: "))
b = int(input("عدد دوم: "))
print("مجموع:", a + b)

این برنامه، دو عدد را از کاربر می‌گیرد و جمع آن‌ها را چاپ می‌کند.

نوع دریافت کد نمونه نوع دادهٔ ذخیره‌شده
ورودی ساده x = input() رشته (نوشته)
تبدیل به عدد صحیح x = int(input()) عدد صحیح
تبدیل به عدد اعشاری x = float(input()) عدد اعشاری

پرسش‌های چالشی و اشتباهات رایج دربارهٔ ورودی

پرسش ۱: آیا دستور ورودی فقط برای گرفتن نوشته به کار می‌رود؟

بله، دستور ورودی همیشه یک رشتهٔ نوشته‌ای برمی‌گرداند، حتی اگر کاربر عدد تایپ کند. برای کار با عددها باید آن را با int() یا float() تبدیل کنیم.

پرسش ۲: اگر کاربر به‌جای عدد، یک نوشته وارد کند و ما از int() استفاده کنیم، چه می‌شود؟

برنامه با پیام خطا متوقف می‌شود، زیرا نمی‌تواند یک نوشته را به عدد تبدیل کند. برای جلوگیری از این مشکل، می‌توانیم از روش‌های بررسی صحت داده استفاده کنیم.

پرسش ۳: آیا می‌توانیم چند ورودی را در یک خط بگیریم؟

بله، با کمک روش‌های پیشرفته‌تر می‌توان چند مقدار را در یک خط دریافت کرد، اما در حالت ساده، دستور ورودی فقط یک خط از کاربر می‌خواند و تمام نوشتهٔ آن خط را به‌عنوان یک رشته برمی‌گرداند.

یادآوری دستور ورودی یکی از پرکاربردترین دستورها در پایتون برای ارتباط با کاربر است. همیشه به یاد داشته باشید که خروجی آن از نوع رشته است و برای محاسبات ریاضی باید آن را به عدد تبدیل کنید. با تمرین و نوشتن برنامه‌های ساده، به‌راحتی می‌توانید از این دستور استفاده کنید و برنامه‌های تعاملی جذابی بسازید.