آموزش پایتون_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()
۱ ۳ ۵ ۷ ۹ ۱۱ ۱۳ ۱۵ ۱۷ ۱۹

درباره نویسنده

مهارت ها:html,css,C#,ADO.NET,sqlserver,access,python

نوشته های مرتبط

نظری بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *