گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

متد textinput: روشی برای دریافت ورودی متنی از کاربر در محیط turtle.

بروزرسانی شده در: 10:04 1405/04/14 مشاهده: 62     دسته بندی: کپسول آموزشی

گفت‌وگو با لاک‌پشت: روش دریافت ورودی متنی

با دستور textinput از کاربر سؤال بپرس و پاسخ را در برنامه‌ات ذخیره کن
در محیط برنامه‌نویسی لاک‌پشت، گاهی نیاز داریم کاربر چیزی بنویسد؛ مثلاً نام خودش، عدد مورد نظر یا پاسخ یک سؤال. دستور textinput این امکان را فراهم می‌کند. در این مقاله می‌آموزیم چگونه از این دستور استفاده کنیم، کجاها به کارمان می‌آید و چه نکاتی را باید موقع نوشتن کد رعایت کنیم. کلیدواژه‌های اصلی: ورودی متنی، متغیر، پرسش از کاربر، ذخیره‌سازی پاسخ.

ساختار و شیوهٔ استفاده از دستور textinput

دستور textinput در محیط لاک‌پشت، مانند یک پنجرهٔ کوچک است که از کاربر می‌خواهد چیزی بنویسد. این دستور معمولاً به همراه یک متغیر به کار می‌رود تا پاسخ کاربر در آن ذخیره شود. ساختار کلی آن به این صورت است:

نام_متغیر = textinput("پیام")

در اینجا، «پیام» همان سؤالی است که کاربر می‌بیند؛ مثلاً «نام خود را وارد کن». وقتی برنامه به این خط می‌رسد، پنجره‌ای باز می‌شود و کاربر می‌تواند پاسخ خود را تایپ کند. پس از کلیک روی دکمهٔ تأیید، آنچه نوشته شده در متغیر سمت چپ علامت مساوی ذخیره می‌شود. سپس می‌توانیم از آن متغیر در جای‌های دیگر برنامه استفاده کنیم؛ مثلاً آن را با دستور print نشان دهیم یا در محاسبات به کار ببریم.

فرض کن می‌خواهی برنامه‌ای بنویسی که از کاربر بپرسد چند سال دارد و سپس پیامی متناسب با سنش نشان دهد. کد آن می‌تواند چیزی شبیه این باشد:

سن = textinput("چند سال داری؟")
print("تو " + سن + " سال داری.")

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

نکته: همیشه بعد از textinput، پاسخ را در یک متغیر ذخیره کن تا بتوانی در ادامهٔ برنامه از آن استفاده کنی. اگر آن را ذخیره نکنی، پاسخ کاربر از بین می‌رود و قابل دسترس نخواهد بود.

کاربردها و نکات مهم در استفاده از ورودی متنی

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

اما باید به یک نکتهٔ مهم توجه کنی: همان‌طور که گفتیم، خروجی textinput از نوع نوشته (رشتهٔ متنی) است. اگر بخواهی کاربر عدد وارد کند و با آن جمع یا تفریق انجام دهی، باید آن را با دستور عدد‌کن (int) به عدد تبدیل کنی. برای نمونه:

تعداد = textinput("چند تا مربع بکشم؟")
تعداد_عدد = int(تعداد)
for i in range(تعداد_عدد):
    # کد کشیدن مربع

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

مقایسهٔ ورودی متن و عدد
نوع ورودی خروجی textinput تبدیل مورد نیاز کاربرد
نوشته (متن) همان نوشته نیازی نیست نام، پیام، آدرس
عدد عدد به صورت نوشته تبدیل با int() محاسبات، تعداد حلقه

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

پرسش ۱: چرا بعد از textinput نمی‌توانم پاسخ را با عدد دیگری جمع کنم؟

چون textinput همیشه خروجی را به صورت نوشته (متن) برمی‌گرداند، حتی اگر کاربر عدد تایپ کند. برای جمع کردن، باید ابتدا آن را با دستور int() به عدد تبدیل کنی. اگر این کار را نکنی، برنامه با خطا مواجه می‌شود.

پرسش ۲: آیا می‌توانم از textinput برای دریافت پاسخ بله یا خیر استفاده کنم؟

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

پرسش ۳: اگر کاربر چیزی ننویسد و تأیید کند، چه می‌شود؟

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

پرسش ۴: آیا می‌توان در یک برنامه چند بار از textinput استفاده کرد؟

بله، به تعداد نامحدود. هر بار که به خط حاوی textinput می‌رسی، پنجرهٔ جدیدی باز می‌شود و از کاربر سؤال می‌کند. می‌توانی اطلاعات مختلف را یکی پس از دیگری دریافت کنی و در متغیرهای جداگانه ذخیره کنی.

آنچه آموختیم

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