وقتی حلقه for را اجا میکنیم آیتم ها به هر تعدادی که هستند زیر هم دیگر چاپ میشوند. برای اینکه کنار هم چاپ شوند باید از (“”=print(i,end استفاده کنیم
همانطور که در تصویر بالا مشاهده میکنید end=’\n” به صورت پیش فرض تعریف شده تا بعد از تایپ هر آیتم به خط بعدی رفته تا آیتم های دیگر را چاپ کند.
stg="sufra.ir" >>> for i in stg: print(i,end=" ") s u f r a . i r
>>> a = ['python', 'html', 'c++'] >>> for i in a: print(i , len(i)) python 6 html 4 c++ 3 >>>
T=("A","B","C") >>> for x in T: print(x) A B C >>> for x in T: print(x,end="") ABC >>>
>>> 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 >>>
>>> 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 بعد از تمام شدن حلقه اجرا میشود. ما لیستی از کلمات را با یک حلقه به پیش میبریم. وقتی تکرار شد، پیام “پایان حلقه” را چاپ می کنیم که در داخل بدن قرار دارد و پس از کلمه کلیدی دیگری قرار دارد.
تابع 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=' ') ۰ ۲ ۴ ۶ ۸ ۱۰ >>>
>>> 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 عنصر لیست را با ایندکس آن چاپ کنیم.
تا اینجا ما مثالهای ما تک بعدی با استفاده از یک حلقه بوده است. برای استفاده از مثالهای چند بعدی مثلا ماتریس ها، بیشتز از یک حلقه باید استفاده میکنیم. برای ماتریس های دو بعدی که نیاز به سطر و ستون داریم از دو حلقه استفاده میکییم.
>>> nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> for i in nums: for e in i: print(e, end=' ') print() ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹
>>> 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 >>>
برنامه به محض رسیدن به break از حلقه خارج میشود.
import random import itertools for i in itertools.count(): val = random.randint(1, 30) print(val) if (val == 22): break ۱۳ ۸ ۱۸ ۶ ۲۰ ۲۴ ۱۳ ۲۲
برنامه با شرطی که گذاشتیم وقتی به continue رسید آن را اجرا نمیکند و حلقه کار خود را ادامه میدهد
num = 0 for num in range(20): num = num + 1 if (num % 2) == 0: continue print(num, end=' ') print() ۱ ۳ ۵ ۷ ۹ ۱۱ ۱۳ ۱۵ ۱۷ ۱۹