- Маълумки, дастурлар чизиқли, тармоқланувчи а такрорланувчи дастурлардан иборат.
- Дастурнинг аргументни ўзгариш қонунига кўра такрор ва такрор бажариладиган қисмини цикл жисми деб аталади. Аргументнинг ўзгариш қонунига кўра циклларни қуйидаги турларга бўлиш мумкин.
- Арифметик прогрессия
- Геометрик прогрессия
- Итерацион
- Ичма ич жойлашган мураккаб цикл
- Python дастурлаш тилида такрорлаувчи дастурларни ташкил этиш учун қуйидаги операторлардан фойдаланилади.
- while операторлари;
- • for операторлари;
- • рўйхат;
- Python -нинг ўрнатилган range- оралиқ функциясидан фойдаланиш намунаси қуйдагича.
- print(range(5))
- range функцияси аргументи бутун сондан иборат. range функцияси аргументида унинг бошланғич қийматни, якуний қийматни ва қадам қийматини эълон қилиниши мумкин.
- Pythonда range функцияси аргументи иштирокидаги намуналар қуйидагича
-
- a = range(5, 10)
- print(a)
- b = list(range(1, 10, 2))
- print(b)
- for n in range(5):
- print(n**2)
- бу ерда n цикл параметри range(5) даги 0 дан бошлаб 5 гача бутун сонларни ўзлаштириши билан цикл такрорланади. Бу ерда хам цикл жисмига кирувчи операторлар қаторнинг 4 жойлашув ўрни билан бошланади.
- a=1
- b=21
- d=3
- for i in range(a, b, d):
- print(i)
-
- намунадан кўринадики, range параметрида циклнинг бошланғич қийматидан юқори қиймати томон берилган қадам билан такрорлаиши ташкил этилади.
- a=15
- b=1
- d=-3
- for i in range(a, b, d):
- print(i)
- намунадан кўринадики, range параметрида циклнинг юқори қийматидан қуйи қиймати томон берилган қадам билан такрорлаиши ташкил этилади.
- Pythonда for оператори билан цикл ташкил этиш намунлари қуйидагича.
- for n in [0, 1, 2, 3, 4]:
- print(n)
- a_dict = {"one":1, "two":2, "three":3}
- for key in a_dict:
- print(key)
- a_dict = {2:"ikki", 3:"uch", 1:"bir"}
- keys = a_dict.keys()
- keys = sorted(keys)
- for key in keys:
- print(key)
- for i in 1, 2, 3, 'one', 'two', 'three':
- print(i)
- i = 1
- for color in 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'violet':
- print( i, color)
- i += 1
- s= [10, 40, 20, 30]
- for l in s:
- print(l + 2)
-
-
- намуналардан кўринадики, for операторида цикл параметри учун луғатлардан, рўйхатлардан фойдаланиш мумкин. Цикл параметри рўйхатдаги қийматни, жойлашган ўрнидаги қиймтлар кетма кетлигини авбат билан ўзлаштириб олади.
- Break оператори ёрдмида цикл такрорланишини бошқариш мумкин. Бунинг учун шартли операторлардан фойдаланилади.
- Масалан,
- meva = ["olma", "uzum", "nok", "olxori"]
- for m in meva:
- if m == "nok":
- print(«нок emayman!")
- break
- print("alo, shirin " + m)
- else:
- print("yaxshi, нок eмaдим")
- print("meva edim.")
- шарт бажарилса цикл такрорланиши узилади, акс ҳолда такрорланиш давом этади.
- Continue оператори ёрдмида цикл такрорланишини бошқариш мумкин. Бунинг учун шартли операторлардан фойдаланилади.
- meva = ["olma", "uzum", "nok", "olxori"]
- for m in meva:
- if m == "nok":
- print("nok emayman!")
- continue
- print("alo, shirin " + m)
- else:
- print("yoqmaydi")
- print("meva edim.")
- шарт бажарилса дастур фрагменти бажарилмайди, бироқ цикл такрорланиши давом этади.
- for оператори иштирокида iterasion цикл қилиш намунаси қуйидагича
- fib = [0,1,1,2,3,5,8,13,21]
- for i in range(len(fib)):
- print(i,fib[i])
- бу ерда цикл параметри сонлар кетма кетлигининг жойлашув ўрнини ўзлаштириб олади ва fib[i] сонлар кетма кетлиги чиқарилади.
- col = ["кизил"]
- for i in col:
- if i == "кизил":
- col += ["кора"]
- if i == "кора":
- col += ["ок"]
- print(col)
- бу дастур итерацион циклни ташкил этиш намунасидир
- for оператори иштирокидаги тадбиқий дастур намуналари қуйидагича
- import math
- n=int(input())
- s=0
- for i in range(n):
- s+=math.factorial(i)
- print(s)
- математик фукцияларда фойдаланишда python дастурлаш тилида import math фрагмент иштирок этиш шарт
- s=1
- for i in range(1,6,2):
- s*=i
- print(i)
- print(s)
- дастур бажарилишида тоқ сонлар кўпайтмаси ҳисобланган бўлади.
- Қуйидаги дастурда пифагор жадвали экранга чиқарилган бўлади. У ичма ич жойлашган цикл намунасидир
- for i in range(1, 10):
- for j in range(1, 10):
- print(i * j, end="\t")
- print("\n")
- s=input()
- l=len(s)
- for i in range(l+1):
- print(s[0:l-i])
Do'stlaringiz bilan baham: |