Дәріс 4. Айнымалы және арифметикалық өрнектер. 1.1 листингінде айнымалыларды пайдаланатын бағдарлама келтіріледі
Листинг 1.1. Күрделі пайыздарды есептеу principal = 1000 # Бастапқы rate = 0.05 # Процент numyears = 5 # жылы
year = 1 while year <= numyears: principal = principal * (1 + rate) print year, principal # В Python 3: print(year, principal) year += 1
Бағдарлама жұмысының нәтижесінде келесі кесте алынады:
1050.0
1102.5
1157.625
1215.50625
1276.2815625
Python-динамикалық типтеу тілі, яғни бағдарламаларды орындау барысында бір айнымалы әр түрлі мәндерді сақтай алады. Меншіктеу операторы жай ғана айнымалы және мән арасында байланыс орнатады. Әрбір мән бүтін сан немесе жол сияқты деректердің жеке типіне ие болса да, айнымалылар типі жоқ және бағдарламаны орындау процесінде олар кез келген мәндерге сілтеме жасай алады. Бұл Python тілінің C тілінен ерекшелігі, мысалы, С тілінде айнымалы жадтың белгілі бір типін алады, өлшемі және орналасуы бар. Python тілінің динамикалық табиғатын 1.1 листингінде principal айнымалысы мысалында бақылауға болады. Бастапқыда оған бүтін санды мән беріледі. Алайда кейінірек бағдарламада келесі тағайындау
орындалады: principal = principal * (1 + rate)
Бұл нұсқаулық өрнекті есептейді және principal атауымен айнымалының нәтижесін береді. Principal айнымалысының бастапқы мәні 1000 бүтін санына қарамастан, жаңа мән нақты сан болып табылады. Яғни бағдарламаның ортасында principal айнымалысының типі бүтін саннан динамикалық түрде нақты санға өзгереді. Бірақ, онда principal айнымалысының типі емес, тек бұл айнымалы сілтеме жасайтын мәннің типі өзгереді.
Жолдың соңы нұсқаулықты аяқтайды. Алайда, бірнеше нұсқауларды бір жолда үтірмен бөлектеу арқылы орналастыруға болады:
principal = 1000; rate = 0.05; numyears = 5;
While нұсқаулығы тікелей келесі шартты өрнекті есептейді ол. Егер өрнек нәтижесі ақиқат болса, while онда нұсқаулық денесі орындалады. Шартты өрнек және цикл денесі жалған мән алынғанша қайтадан есептеледі. Циклдің денесі шегініспен бөлінген, яғни 1.1 листингінде әрбір итерацияда while нұсқаулығынан кейінгі үш оператор орындалады. Python тілі шегініс көлеміне қатаң талаптар қоймайды, бір блоктың шегінде тек бір өлшемдегі шегіністерді қолдану қажет.