print یک تابع است که با استفاده از آن میتوان خروجی برنامه را در کنسول نشان داد. فعلا کاری نداریم که تابع چیه چون بعدا حسابی در موردش صحبت خواهم کرد.
برای مثال کد زیر عبارت Hello world! را در کنسول نمایش خواهد داد.
print('Hello World!')برای نمایش چندین مقدار به صورت همزمان، میتوانید بین آنها , قرار دهید.
print('Some Text', 123)input
input یک تابع است که به کمک آن میتوان ورودی های لازم را به برنامه ارسال کرد.
مثلا در برنامه زیر، نام کاربر را گرفته و عبارت Hello را در کنار آن چاپ میکنیم.
name = input()
print('Hello ' + name)کد بالا یک مشکلی دارد. مشکلش این است که وقتی برنامه را اجرا کنید، اینطور به نظر میرسد که انگار برنامه Freeze شده. در صورتی که برنامه منتظر مانده تا کاربر ورودی اش را وارد کند. اما کاربر که این را خودش متوجه نمیشود. پس باید کاری کنیم که کاربر بفهمد که برنامه منتظر چیست. برای حل این مشکل میتوانیم کد بالا را به شکل زیر بازنویسی کنیم.
print('Enter your name:')
name = input()
print('Hello ' + name)البته برنامه بالا را به روش بهتری هم میتوان نوشت. برای این کار میتوان خط ۱ و ۲ را به صورت زیر یکجا نوشت:
name = input('Enter your name:')
print('Hello ' + name)متغیر ها
اگر بخواهید آشپزی کنید باید مواد اولیه را در ظروف مختلف قرار داده و گاهی در ظرف جدید با یکدیگر ترکیب کنید. اگر برنامهنویسی را آشپزی در نظر بگیریم، متغیر ها دقیقا همان کاری را برای ما انجام میدهند که ظرف ها در آشپزی انجام میدهند.
به مثال زیر توجه کنید.
first_name = 'Mohammadreza'
last_name = 'Kasaie'
full_name = first_name + ' ' + last_name
print(full_name)در این برنامه،
- خط ۱: مقدار Mohammadreza را در یک متغیر به نام first_name ذخیره کردیم
- خط ۲: مقدار Kasaie را در یک متغیر به نام last_name ذخیره کردیم.
- خط۳: مقادیر متغیر ها را به یکدیگر چسباندیم و در متغیر جدیدی به نام full_name ذخیره کردیم.
- خط ۴: مقدار متغیر جدید را print کردیم.
خروجی کد بالا به شکل زیر خواهد بود
Mohammadreza Kasaie
اعداد
هر کاری که با ماشین حساب میتوانید انجام دهید را با پایتون هم میهوان.
number_2 = 2
number_3 = 3
print(number_2 + number_3) # جمع
print(number_2 - number_3) # تفریق
print(number_2 * number_3) # ضرب
print(number_2 / number_3) # تقسیم
print(number_2 // number_3) # مقسیم صحیح
print(number_2 % number_3) # محاسبه باقیمانده
print(number_2 ** number_3) # توانخروجی کد بالا مانند زیر خواهد بود.
5
-1
6
0.6666666666666666
0
2
8
رشته ها
به همه متن ها در پایتون رشته میگوییم. برای تعریف رشته، متن مورد نظر را بین دو کوتیشن یا بین دو دابل کوتیشن قرار میدهیم.
first_name = 'Mohammadreza'
last_name = "Kasaie"همچنین برای چسباندن رشته ها به یکدیگر میتوان از عملگر + استفاده کرد.
first_name = 'Mohammadreza'
last_name = "Kasaie"
print(first_name + ' ' + last_name)تبدیل رشته به عدد
به نظر شما، خروجی کد زیر چه خواهد بود؟
number_2 = '2'
number_3 = '3'
number_5 = number_2 + number_3
print(number_5)خروجی کد بالا برابر 23 خواهد بود زیرا در کد بالا ما دو رشته را به یکدیگر چسباندیم. برای اینکه بتوانیم کاری کنیم که خروجی کد بالا 5 بشود، باید تغییرات زیر را در آن ایجاد کنیم.
number_2 = '2'
number_3 = '3'
number_5 = int(number_2) + int(number_3)
print(number_5)با کاری که انجام دادیم، رشته را به عدد تبدیل کردیم و سپس عملیات جمعی که انجام داده ایم به صورت عددی انجام میشود نه به صورت رشته ای.
تبدیل رشته به عدد به چه دردی میخورد؟
تابع input همه چیز را به صورت رشته ذخیره میکند. یعنی حتی اگر شما هنگام ارسال ورودی به برنامه عدد هم بدهید، عدد را به صورت رشته ذخیره میکند. این برای پردازش های بعدی ممکن است مشکل ساز شود.
فرض کنید از شما بخواهم برنامهای بنویسید که دو عدد از کاربر بگیرد و آن دو را با هم جمع کند. اغلب زبانآموزان برنامه ای به شکل زیر خواهند نوشت.
num1 = input('first number: ')
num2 = input('second number: ')
print(num1 + num2)اینجاست که به جای جمع عددی، دو عدد به یکدیگر چسبانده میشوند. برای اینکه این برنامه خروجی اش آن چیزی که انتظار داریم بشود، باید تغییر زیر را در آن ایجاد کنیم.
num1 = int(input('first number: '))
num2 = int(input('second number: '))
print(num1 + num2)اکنون سعی کنید کد بالا را اجرا کنید و دو عدد اعشاری مثلا 2.5 و 3.5 را به عنوان ورودی به آن ارسال کنید. حتما انتظار دارید که خروجی کد بالا برابر 6 بشود اما نمیشود. دلیل آن این است که تابع int قبل از اینکه رشته را به عدد تبدیل کند، قسمت اعشاری آن را حذف میکند. برای اینکه اعشار آن نیز نگه داشته شود باید کد بالا را به شکل زیر بازنویسی کنید.
num1 = float(input('first number: '))
num2 = float(input('second number: '))
print(num1 + num2)