از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
دریافت ورودی کاربر در پایتون
سرفصلهای مطلب
معرفی
روشی که از طریق آن اطلاعات به دست می آید و مدیریت می شود، یکی از مهمترین جنبه های اخلاق هر زبان برنامه نویسی است، بیشتر برای اطلاعات ارائه شده و به دست آمده از کاربر.
پایتون، اگرچه در مقایسه با زبان های برنامه نویسی دیگر مانند C یا جاوا از این نظر نسبتاً کند است، اما دارای ابزارهای قوی برای به دست آوردن، تجزیه و تحلیل و process داده هایی که مستقیماً از کاربر نهایی به دست می آید.
در این مقاله نگاهی کوتاه به روش به دست آوردن اطلاعات از کاربر از طریق
input()
در پایتون با کمک چند قطعه کد به عنوان مثال عمل کنید.
ورودی در پایتون
برای دریافت اطلاعات از طریق صفحه کلید، پایتون از input()
تابع. این تابع دارای یک پارامتر اختیاری است که معمولاً به عنوان شناخته می شود سریع، که رشته ای است که چاپ خواهد شد روی صفحه نمایش هر زمان که تابع فراخوانی شود.
توجه داشته باشید: قبل از اینکه پایتون 3 را معرفی کند input()
تابع، راه رفتن هنگام خواندن ورودی کاربر بود raw_input()
تابع. با این حال، همیشه توصیه می شود از پایتون 3 و آن استفاده کنید input()
عملکرد هر زمان که شما می توانید!
که در پایتون 3، raw_input()
تابع منسوخ شده و جایگزین شده است input()
تابع است و برای به دست آوردن رشته کاربر از طریق صفحه کلید استفاده می شود. و input()
عملکرد پایتون 2 در نسخه 3 متوقف شده است. برای به دست آوردن همان عملکردی که توسط پایتون 2 ارائه شده است input()
تابع، بیانیه eval(input())
باید در پایتون 3 استفاده شود.
وقتی که input()
تابع فراخوانی می شود، جریان برنامه متوقف می شود تا زمانی که کاربر از طریق خط فرمان وارد ورودی شود. برای وارد کردن واقعی داده ها، کاربر باید دکمه را فشار دهد وارد پس از وارد کردن رشته آنها کلید کنید. در حین ضربه زدن به وارد کلید معمولاً یک کاراکتر خط جدید را وارد می کند ("\n"
) در این مورد اینطور نیست. رشته وارد شده به سادگی به برنامه ارسال می شود.
اکنون که نظریه اساسی پشت آن را درک می کنیم input()
تابع، بیایید نگاهی به روش عملکرد آن در پایتون بیندازیم:
txt = input("Type something to test this out: ")
print(f"Is this what you just said? {txt}")
با اجرای کد قبلی پیام “Type something to test this out:” را از ما می خواهد. بعد از اینکه چیزی را تایپ کردیم، انجام می شود print آنچه را که ما تایپ کردیم را مشخص کنید:
Type something to test this out: Let the Code be with you!
Is this what you just said? Let the Code be with you!
رشته و ورودی عددی
را input()
تابع، به طور پیش فرض، تمام اطلاعاتی را که دریافت می کند به یک رشته تبدیل می کند. مثال قبلی که نشان دادیم این رفتار را نشان می دهد.
شماره، روی از طرف دیگر، باید به طور صریح به این صورت رفتار شود، زیرا آنها در اصل به صورت رشته وارد می شوند. مثال زیر روش دریافت اطلاعات نوع عددی را نشان می دهد:
test_text = input ("Enter a number: ")
test_number = int(test_text)
print ("The number you entered is: ", test_number)
اجرای کد قبلی به ما می دهد:
Enter a number: 13
The number you entered is: 13
روش رایج تر این است که هم خواندن ورودی و هم تبدیل آن به یک عدد صحیح در یک خط را انجام دهیم:
test_number = int(input("Enter a number: "))
به خاطر داشته باشید که اگر کاربر واقعاً یک عدد صحیح وارد نکند، این کد وارد خواهد شد استثنا بیانداز، حتی اگر رشته وارد شده یک عدد ممیز شناور باشد.
روش رسیدگی به استثناها هنگام خواندن ورودی
راه های مختلفی برای اطمینان از وارد کردن اطلاعات معتبر توسط کاربر وجود دارد. یکی از راه ها رسیدگی به تمام خطاهای احتمالی است که ممکن است هنگام وارد کردن داده ها توسط کاربر رخ دهد. در این بخش، چند روش خوب رسیدگی به خطا را برای خطاهایی که ممکن است هنگام خواندن ورودی ایجاد شود، نشان خواهیم داد.
اما ابتدا، اجازه دهید نگاهی به نمونه ای از کدهای (بالقوه) ناامن بیندازیم:
test2word = input("Tell me your age: ")
test2num = int(test2word)
print("Wow! Your age is ", test2num)
پس از اجرای این کد، به جای عدد 3، رشته “Three” را وارد کنید:
Tell me your age: Three
در اینجا، زمانی که int()
تابع با رشته “Three” فراخوانی می شود ValueError
استثنا پرتاب می شود و برنامه متوقف می شود و/یا خراب می شود.
حالا بیایید ببینیم چگونه این کار را می کنیم این کد را ایمن تر کنید برای رسیدگی به ورودی کاربر:
test3word = input("Tell me your lucky number: ")
try:
test3num = int(test3word)
print("This is a valid number! Your lucky number is: ", test3num)
except ValueError:
print("This is not a valid number. It isn't a number at all! This is a string, go and try again. Better luck next time!")
این بلوک کد ورودی جدید را ارزیابی می کند. اگر ورودی یک عدد صحیح باشد که به صورت رشته نمایش داده می شود، int()
تابع آن را به یک عدد صحیح مناسب تبدیل می کند. در غیر این صورت، یک استثنا مطرح می شود، اما به جای اینکه برنامه از کار بیفتد، دستگیر می شود و دوم print
بیانیه اجرا می شود. در اینجا نمونه ای از این کد اجرا می شود که یک استثنا مطرح می شود:
Tell me your lucky number: Seven
This is not a valid number. It isn't a number at all! This is a string, go and try again. Better luck next time!
و اینگونه است که خطاهای مربوط به ورودی را می توان در پایتون مدیریت کرد.
توجه داشته باشید: میتوانید این کد را با ساختار دیگری مانند حلقه while ترکیب کنید تا اطمینان حاصل کنید که کد به طور مکرر اجرا میشود تا زمانی که ورودی عدد صحیح معتبر مورد نیاز برنامه را دریافت کنید.
یک مثال کامل
def example():
while True:
test4word = input("What's your name? ")
try:
test4num = int(input("From 1 to 7, how many hours do you use your smartphone?" ))
except ValueError:
print("Error! This is not a number. Try again.")
else:
print("Impressive, ", test4word, "! You spent", test4num*60, "minutes or", test4num*60*60, "seconds using your smartphone!")
break
example()
خروجی خواهد بود:
What's your name? Francis
From 1 to 7, how many hours do you use your smartphone?
Impressive, Francis! You spent 180 minutes or 10800 seconds using your smartphone!
نتیجه
در این مقاله روش ساخت پایتون را دیدیم input()
تابع را می توان برای دریافت ورودی کاربر در قالب های مختلف استفاده کرد. همچنین دیدیم که چگونه میتوانیم استثنائات و خطاهایی را که ممکن است هنگام دریافت ورودی کاربر رخ دهد، کنترل کنیم.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-26 18:36:03