خواندن ۵ دقیقه

ورودی

پایتونمبتدی

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

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

در چنین برنامه‌هایی به اطلاعاتی نیاز داریم که هنگام اجرای برنامه از کاربر دریافت بشه. به این اطلاعات ورودی (Input) می‌گیم.

به‌طور کلی، می‌تونیم نحوه کار یک برنامه رو به سه بخش تقسیم کنیم:

ورودی ← پردازش ← خروجی

  • ورودی: اطلاعاتی که برنامه از کاربر یا منابع دیگر دریافت می‌کند.

  • پردازش: عملیاتی که برنامه روی اطلاعات ورودی انجام می‌دهد.

  • خروجی: نتیجه‌ای که برنامه در اختیار کاربر قرار می‌دهد.

چطور در پایتون ورودی دریافت کنیم؟

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

در پایتون، برای دریافت ورودی از کاربر از تابع input() استفاده می‌کنیم این ازون تابع هایی هست که خود پایتون در اختیارمون قرار میده. (روش های دیگه‌ای هم وجود داره که فعلا سراغش نمیریم)

برای مثال، برنامه زیر یک مقدار از کاربر دریافت می‌کنه و اون رو در متغیری به نام name ذخیره می‌کنه:

python
name = input()
print("Your name is:", name)

وقتی برنامه رو اجرا کنی، اجرای اون تا زمانی که مقداری وارد نکنی و کلید Enter را نزنی، منتظر میمونه. بعد از وارد کردن مقدار، اون مقدار در متغیر name ذخیره می‌شه و با دستور print() در خروجی نمایش داده می‌شه.

امتحانش کن: برنامه را اجرا کن و نام خودت رو به‌عنوان ورودی وارد کن.

تابع input چه نوع داده‌ای برمی‌گرداند؟

یک نکته مهم درباره input() وجود داره: این تابع تمام ورودی‌ها رو به‌صورت متن یا بهتره بگیم به صورت رشته (str) دریافت می‌کند. فرقی نمی‌کنه کاربر یک عدد، یک کلمه یا یک جمله وارد کند؛ مقدار برگشتی این تابع همیشه رشته است.

برای اینکه این موضوع رو ببینیم، برنامه‌ی زیر رو اجرا کن:

python
value = input()
print(type(value))

اگر عدد 13 را وارد کنی، خروجی به شکل زیر خواهد بود:

text
<class 'str'>

همونطور که می‌بینی، پایتون مقدار 13 رو به‌عنوان یک رشته در نظر گرفته، نه یک عدد صحیح. (str نشون دهنده‌ی این هست که با یک رشته سر و کار داریم)

اگر بخواهیم از ورودی کاربر در محاسبات ریاضی استفاده کنیم، باید نوع داده اون رو به عدد تبدیل کنیم. برای این کار می‌تونیم از تابع int() استفاده کنیم.

برای مثال:

python
value = input()
value = int(value)

print(type(value))

حالا اگر دوباره عدد 13 را وارد کنی، خروجی به این شکل خواهد بود:

text
<class 'int'>

این بار مقدار ورودی به عدد صحیح تبدیل شده است و می‌توانیم از آن در محاسبات ریاضی استفاده کنیم. (فعلا اون کلمه‌ی class رو در نظر نگیرید در آینده سراغش میریم)

نمایش پیام هنگام دریافت ورودی

گاهی بهتر است قبل از دریافت ورودی، به کاربر بگوییم چه مقداری باید وارد کند. برای این کار می‌تونیم متن موردنظرمون رو مستقیماً داخل تابع input() قرار دهیم:

python
name = input("What is your name? ")
print("Hello", name)

با اجرای این برنامه، ابتدا پیام What is your name? نمایش داده می‌شه. سپس برنامه منتظر میمونه تا کاربر نام خودش رو وارد کنه.

به این ترتیب، کاربر می‌دونه چه اطلاعاتی از او خواسته شده.

نکته: متنی که داخل input() قرار می‌دیم صرفاً برای راهنمایی کاربر است و بخشی از مقداری که دریافت می‌شود نیست.

جمع‌بندی

  • برای دریافت ورودی از کاربر در پایتون از تابع input() استفاده می‌کنیم.

  • مقدار دریافتی با این تابع همیشه از نوع رشته (str) است.

  • برای تبدیل ورودی به عدد صحیح از int() و برای تبدیل آن به عدد اعشاری از float() استفاده می‌کنیم.

  • می‌تونیم با قرار دادن یک متن داخل input()، قبل از دریافت ورودی به کاربر راهنمایی بدهیم.

در رودمپ

مطالب بعدی