نوشته‌ها

پایتون

آموزش پایتون_for

مفهوم Loop 

یک حلقه یاLoop  دنباله ای از دستورالعمل است که به طور مداوم تکرار می شود تا شرایط خاصی به دست آید. به عنوان مثال، ما مجموعه ای از اقلام داریم و یک حلقه ایجاد می کنیم تا از طریق آن بتوانیم  تمام عناصر موجود در مجموعه را پیمایش کنیم. حلقه ها در Python می توانند با for یا while  ایجاد شوند.

در این جلسه قراره در مورد حلقه ها بحث کنیم. در ابتدا از for شروع میکنیم :

for روی هر کدام ا آیتم های دنباله ای مثل رشته، لیست و… تکرار میشود. به عبارت دیگر آیتم ها به همان ترتیبی که در دنباله هستند طاهر میشوند. مهمترین مسئله در این حلقه، تعداد دفعات تکرار مشخص است

مثلا کامپیوتر n عدد از کاربر دریافت میکنه و بزرگترین آنها را نمایش میده.

for var in sequence:
   do_statement(s)

حلقه for با string

 

>>> stg=”sufra.ir”
>>> for i in stg:
print(i)

s
u
f
r
a
.
i
r
>>>
نکته

وقتی حلقه for  را اجا میکنیم آیتم ها به هر تعدادی که هستند زیر هم دیگر چاپ میشوند. برای اینکه کنار هم چاپ شوند باید از (“”=print(i,end  استفاده کنیم

 

print(i,end=””) ???

 

end

همانطور که در تصویر بالا مشاهده میکنید end=’\n”  به صورت پیش فرض تعریف شده تا بعد از تایپ  هر آیتم به خط بعدی رفته تا آیتم های دیگر را چاپ کند.

 

stg="sufra.ir"
>>> for i in stg:
 print(i,end=" ")
s u f r a . i r

حلقهfor با list

>>> a = ['python', 'html', 'c++']
 >>> for i in a:
 print(i , len(i))
python 6
 html 4
 c++ 3
 >>>

حلقه for با tuple

T=("A","B","C")
>>> for x in T:
 print(x)
A
 B
 C
 >>> for x in T:
 print(x,end="")
ABC
 >>>

حلقه for با  Dictionary

>>> d = {'x': 1, 'y': 2, 'z': 3}
 >>> for key in d:
 print (key, ":", d[key])
x : 1
 y : 2
 z : 3
>>> data = { "de": "Germany", "sk": "Slovakia", "hu": "Hungary", "ru": "Russia" }
>>> for k, v in data.items():
print("{0} is an abbreviation for {1}".format(k, v))
de is an abbreviation for Germany
 sk is an abbreviation for Slovakia
 hu is an abbreviation for Hungary
 ru is an abbreviation for Russia
 >>>

حلقه for با else

>>> words = ["cup", "star", "monkey", "bottle", "paper", "door"]
>>> for word in words:
print(word)
else:
print("Finished looping")
cup
star
monkey
bottle
paper
door
Finished looping
>>>

دستور else  بعد از تمام شدن حلقه اجرا میشود. ما لیستی از کلمات را با یک حلقه به پیش میبریم. وقتی تکرار شد، پیام “پایان حلقه” را چاپ می کنیم که در داخل بدن قرار دارد و پس از کلمه کلیدی دیگری قرار دارد.

حلقه for با range

 

تابع range لیستی از اعداد ۰-(۱-n) را تولید میکند.

 

>>>
 for i in range(1, 6):
print("Statement executed {0}".format(i))
Statement executed 1
 Statement executed 2
 Statement executed 3
 Statement executed 4
 Statement executed 5
 >>>
>>> for n in range(1, 11):
 print(n, end=' ')
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰
 >>> for n in range(0, 11, 2):
 print(n, end=' ')
۰ ۲ ۴ ۶ ۸ ۱۰
 >>>

حلقه for با ایندکس

>>> words = ["cup", "star", "monkey", "bottle", "paper", "door"]  >>> for word, idx in enumerate(words):  print("{0}: {1}".format(word, idx)) 0: cup  1: star  2: monkey  3: bottle  4: paper
  ۵: door  >>>

با استفاده از تابع enumerate عنصر لیست را با ایندکس آن چاپ کنیم.

حلقه for  تو  در تو

 

تا اینجا ما  مثالهای ما تک بعدی   با استفاده  از یک حلقه بوده است. برای استفاده از مثالهای چند بعدی مثلا ماتریس ها، بیشتز از یک حلقه  باید استفاده میکنیم. برای ماتریس های دو بعدی که نیاز به سطر و ستون  داریم از دو حلقه استفاده میکییم.

>>> nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> for i in nums:
for e in i:
print(e, end=' ')
print()
۱ ۲ ۳ 
۴ ۵ ۶ 
۷ ۸ ۹

حلقه for  با zip

>>> words1 = ["cup", "bottle", "table", "rock", "apple"]
 >>> words2 = ["trousers", "nail", "head", "water", "pen"]
 >>>
 for w1, w2 in zip(words1, words2):
 print(w1, w2)

cup trousers bottle nail table head rock water apple pen >>>

حلقه for  و break

برنامه به محض رسیدن  به break از حلقه خارج میشود.

import random
 import itertools
for i in itertools.count():
val = random.randint(1, 30)
print(val)
if (val == 22):
 break
۱۳
 ۸
 ۱۸
 ۶
 ۲۰
 ۲۴
 ۱۳
 ۲۲

 

حلقه for  با continue

برنامه با  شرطی که گذاشتیم وقتی به continue رسید آن را اجرا نمیکند و حلقه کار خود را ادامه میدهد

num = 0
for num in range(20):
num = num + 1
if (num % 2) == 0:
continue
print(num, end=' ')
print()
۱ ۳ ۵ ۷ ۹ ۱۱ ۱۳ ۱۵ ۱۷ ۱۹
پایتون

آموزش پایتون-دستور شرطی IF

در این قسمت به دستورات شرطی میپردازیم:

9if

 

https://www.tutorialspoint.com/python/python_decision_making.htm

به عنوان نمونه میخواهیم ببینیم عدد وارد شده کمتر از ۱۰۰ هست یا نه :

در پایتون بر خلاف c,c++,c#,java,… خبری از{} برای قرار دادن دستورات داخل آن نیست و برای این کار از تب یعنی ۴ تا space استفاده میشه.  با این تب به مفسر میگیم این خط کد مربوط به دستور IF است.

x=85

if x < 100:

    print( “عدد وارد شده کمتر از ۱۰۰ است. “)

در این قطعه کد ما فقط شرط درستی را بررسی میکنیم

58

else

یک عدد از کاربر دریافت میکنیم حالا اگر عدد وارد شده بیشتر از ۱۰۰ بودو شرط ما نادرست بود، از else  استفاده میکنیم:

x=int(input(“لطفا يک عدد صحيح وارد کنيد:”))
if x < 100:
print( “عدد وارد شده کمتر از ۱۰۰ است. “)
else:
print(“عدد وارد شده بزرگتر از ۱۰۰ است.”)

8

 

Symbols for Conditions

10

elif

 elif همان خلاصه شده else if  در زبانهای دیگر مثل جاوا، سی شارپ، سی و… میباشد. در واقع اگر بخواهیم در صورت برقرار نبودن شرطی شرطهای بعدی را هم بررسی کنیم:

x=int(input(“لطفا يک عدد صحيح وارد کنيد:”))
if x < 20:

    print( “عدد وارد شده کمتر از ۱۰۰ است. “)

elif x == 100:

     print( “برابر ۱۰۰ است .”)
elif x > 100 and x<150:

     print( “عدد وارد شده بيشتر از ۱۰۰ و کمتر از ۱۵۰ است. “)
elif x > 100 or x<50:

    print( “عدد وارد شده يا بيتر از ۱۰۰ يا کمتر ا ۱۵۰ است.”)

else:
print(“عدد وارد شده در اين محدوده نيست”)

IF های تو در تو

در صورت درست بودن یک شرط، شرطی دیگر را بررسی کنیم:

var = 100
if var < 200:
 print ("Expression value is less than 200")
 if var == 150:
 print ("Which is 150")
 elif var == 100:
 print ("Which is 100")
 elif var == 50:
 print ("Which is 50")
elif var < 50:
 print ("Expression value is less than 50")
else:
 print ("Could not find true expression")

print ("Good bye!")

Expression value is less than 200
Which is 100
Good bye!