خواندن داده در برنامه نویسی پایتون با استفاده از تابع input
اکثر برنامه های واقعی باید اطلاعاتی را از کاربر بخوانند. برای این منظور پایتون از تابع ()input استفاده می کند. تابع ()input به صورت زیر به کار می رود:
(” پیغام “) input = متغیر
وقتی کنترل اجرای برنامه به تابع ()input برسد، ابتدا پیغام نمایش داده می شود، منتظـر مـی مانـد تـا کـاربر رشته ای را وارد کرده کلید Enter را فشار دهد. به محض این که کاربر کلید Enter را فشار دهد، رشته وارد شده در متغیر قرار میگیرد به عنوان مثال دستور زیر را ببینید:
name = input(“Enter your name:”)
با اجرای این دستور عبارت زیر نمایش داده میشود:
Enter your name:
اکنون کاربر عبارت search360 را وارد کرده کلید Enter را فشار دهد، عبارت search360 در متغیر name قرار می گیرد.
اکنون دستورات زیر را ببینید
با اجرای این دستورات خروجی زیر نمایش داده میشود:
a= input(“Enter a:”)
b = input(“Enter b:”)
sum = a + b
print(“Sum is “, sum)
Enter a:10
Enter b: 20
۱۰۲۰ Sum is
همان طور که در این خروجی میبینید خروجی حاصل جمع دو عدد وارد شده (یعنی ۱۰ و ۲۰ ) نمی باشد. چون دستورات ()a input و b را به صورت رشته میخوا نند.
پس a =”10″ و b =”20″ می باشد . بنابراین sum = a + b برابر (۱۰۲۰) اتصال دو رشته a و b می باشد.
پس اگر بخواهید عددی را بخوانید ابتدا با دستور ()input می توانید آن را به صورت رشته ای بخوانید و با تابع ()int آن را به عدد تبدیل کنید. اکنون، دستورات زیر را ببینید:
a= input(“Enter a:”)
b= input(“Enter b:”)
a = int(a)
b= int(b)
sum = a + b
print(“Sum is “,sum)
با اجرای این دستورات و ورود اعداد ۱۰ و ۲۰ خروجی زیر ظاهر می گردد:
Enter a:10
Enter b:20
Sum is 30
چون، دستور ،اول رشته عددی ۱۰ را میخواند در a قرار میدهد دستور ،دوم رشته عددی ۲۰ را قرار می دهد، دستور سوم، مقدار صحيح int(a)) a ) را در a قرار می دهد، دستور چهارم، صحيح b را در b قرار میدهد، دستور پنجم، جمع a و b یعنی (۳۰) را در sum قرار می دهد و دستور ششم عبارت ۳۰ Sum is را نمایش میدهد. تابع ()input را میتوان در داخل تابع ()int استفاده کرد. در این صورت رشته خوانده شده را بـه عـدد صحیح تبدیل کرده در متغیر قرار می دهد. به عنوان مثال دستور زیر را مشاهده کنید:
n= int(input(“Enter n:”))
با اجرای این دستور عبارت زیر ظاهر میشود:
: Enter n
اکنون اگر کاربر مقدار رشته ای ۱۵ را وارد کند مقدار رشته ای “۱۵” به عدد ۱۵ تبدیل و در n قرار می گیرد. حال اگر کاربر به جای یک عدد اشتباهاً رشته ای را وارد کند که در آن کاراکترهای غیر عددی نظیر ‘ ‘ a تا ‘z’ یا ‘ A’ تا ‘Z’ و غیره وجود داشته باشند، مفسر پایتون پیغام خطای زیر را نمایش میدهد:
Enter n:12A12
Traceback (most recent call last:(
File “<pyshell#2>”, line 1, in <module>
n = int(input(“Enter n“:
ValueError: invalid literal for int() with base 10: ’12A12′
این پیغام خطا به این دلیل است که آرگومان تابع() int باید شامل رشته ای باشد که فقط از کاراکترهای عددی تشکیل می شود. یعنی، محتوی آرگومان تابع ()int نمی تواند شامل کاراکترهای غیر عددی باشد.