4- آموزش دستور input() در پایتون

۲۱ بهمن ۱۴۰۳
پایتون
0 دیدگاه

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

چرا باید ورودی بگیریم؟

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

نحوه استفاده از input()

دستور input() به سادگی نوشته می‌شود:

				
					name = input('لطفاً نام خود را وارد کنید: ')
print('سلام', name)

				
			

وقتی این کد را اجرا کنید، برنامه پیام «لطفاً نام خود را وارد کنید: » را نمایش می‌دهد و منتظر می‌ماند تا کاربر چیزی تایپ کند. بعد از زدن دکمه Enter، مقدار واردشده ذخیره می‌شود و برنامه ادامه پیدا می‌کند.

توضیح درباره متن راهنما (Prompt)

مقداری که داخل پرانتز input() می‌نویسیم مثل 'لطفاً نام خود را وارد کنید: ' فقط یک راهنما (hint) برای کاربر است تا بداند چه چیزی باید وارد کند. این متن هیچ تأثیری روی مقدار ورودی ندارد و فقط یک پیام نمایشی است. مثلاً:

				
					age = input('سن خود را وارد کنید: ')
print('سن شما:', age)

				
			

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

 

گرفتن ورودی عددی با دستور input() در پایتون

 

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

چرا این مهم است؟

اگر بخواهید با عدد واردشده عملیات ریاضی انجام دهید (مثل جمع، تفریق، ضرب و …)، باید ابتدا این مقدار را به نوع عددی تبدیل کنید. در غیر این صورت، برنامه خطا می‌دهد یا نتیجه‌ای غیرمنتظره خواهد داشت.

مثال ساده

در این مثال، دو عدد از کاربر می‌گیریم و می‌خواهیم آن‌ها را جمع کنیم:

				
					num1 = input('عدد اول را وارد کنید: ')
num2 = input('عدد دوم را وارد کنید: ')
result = num1 + num2
print('نتیجه جمع:', result)

				
			

ورودی نمونه:

عدد اول را وارد کنید: 5
عدد دوم را وارد کنید: 3

خروجی:

نتیجه جمع: 53

💡 چرا این اتفاق افتاد؟
چون input() داده‌ها را به‌صورت رشته ذخیره می‌کند، عملیات + به جای جمع کردن اعداد، رشته‌ها را به هم چسبانده است (یعنی “5” و “3” را کنار هم قرار داده و نتیجه شده “53”).

راه‌حل: تبدیل رشته به عدد

برای اینکه ورودی‌ها به‌عنوان عدد شناخته شوند، باید از تابع int() استفاده کنیم تا رشته‌ها را به عدد صحیح تبدیل کنیم:

				
					num1 = int(input('عدد اول را وارد کنید: '))
num2 = int(input('عدد دوم را وارد کنید: '))
result = num1 + num2
print('نتیجه جمع:', result)

				
			

ورودی نمونه:

عدد اول را وارد کنید: 5
عدد دوم را وارد کنید: 3
 

خروجی:

نتیجه جمع: 8
 

نتیجه‌گیری

  • input() برای گرفتن اطلاعات از کاربر استفاده می‌شود.
  • متنی که داخل input() می‌نویسیم فقط یک راهنما برای کاربر است.
  • داده‌ای که کاربر وارد می‌کند همیشه به‌صورت رشته (string) ذخیره می‌شود، حتی اگر یک عدد باشد.

0 دیدگاه