Informatika va grafika
332 subscribers
324 photos
761 videos
689 files
210 links
Dasturlash: c++, java, delphi, javascript, VBA, vb#,c#
Grafika: 3ds max, flash8, Swishmax, coreldraw, photoshop.
Informatika: grafik ob ‘ektlarni yaratish Pascal tilini o‘rganish, Excelda formalar yaratish, HTML, CSS bilan tanishish Admin @Algoritmchi
Download Telegram
Python. Fayllar bilan ishlash.zip
4.6 KB
Python fayllari. Fayllar bilan ishlash (Amaliyot)
This media is not supported in your browser
VIEW IN TELEGRAM
Amaliyot. Pytohon. Fayllarni o'qish.
12- Dars. Sanoq sistemasining ishlatilishi

Maktab kursidagi informatika faninidan bizga ma’lumki, sonlar nafaqat o`nlik
sanoq sistemasida balki boshqa sanoq sistemalarida ham bo`lishi mumkin. Masalan:
kompyuter ikkilik sanoq sistemasidan foydalanadi ya’ni 19-soni ikkilik sanoq
sistemasida (kompyuterda) 10011 ko`rinishida ifodalanadi. Bundan tashqari
sonlarni bir sanoq sistemasidan ikkinchi sanoq sistemasiga o`tkazish kerak. Python
bu uchun bir qancha funksiyalarni taqdim etadi:

int([object],[sanoq sistemasi asosi])- butun sonni berilgan sanoq sistemasidan
o`nlik sanoq sistemasiga o`tkazadi.
bin(x)- butun sonni ikkilik sanoq sistemasiga o`tkazadi
hex(x)- butun sonni o`n oltilik sanoq sistemasiga o`tkazadi
oct(x)- butun sonni sakkizlik sanoq sistemasiga o`tkazadi.

sanoq sistemasi

Son
Sonlar Python dasturlash tilida 3 turda bo'ladi:
1. butun sonlar,
2. haqiqiy sonlar
3. kompleks sonlar
. Butun songa misol 2,5, …
. Haqiqiy sonlarga misol 3.23 va 52.3e-4.
. Kompleks sonlarga misol (-5+4i) va (2.3-4.6i)

Butun sonlar

Python interpretatorida yuqorida operator va ifodalar mavzusida ko`rib
chiqqan barcha operatorlarni oddiy matemetika kursida ishlatilganidek bajarilishini
ko`rdik. Ya’ni ko`paytirish, qo`shish, ayirish, bo’lish, darajaga ko`tarish va hokazo.
Endi esa butun sonlar ustida bajarish mumkin bo`lgan qo`shimcha metodlarni
ko`ramiz.

int.bit_length()- sonni oldidagi ishora va nollarni hisobga olmasdan uni ikkilik
sanoq sistemasida taqdim etish uchun kerakli bo`lgan bitlar soni.

int.to_bytes(length, byteorder, *, signed=False)-shu sonni taqdim etuvchi baytlar
qatorini qaytaradi.

classmethod int.from_bytes(bytes, byteorder, *, signed=False)-berilgan baytlar
qatoriga mos sonni qaytaradi.

Haqiqiy sonlar

Haqiqiy sonlar ham butun sonlar qo`llab quvvatlovchi operatsiyalarni qo`llab
quvvatlaydi. Haqiqiy sonlarni ishlatilishiga oddiy misol:
Haqiqiy sonlar ustida amal bajarishda foydalanish mumkin bo`lgan qo`shimcha
metodlar:

float.as_integer_ratio- shu haqiqiy son bilan juftlik munosabatida bo`lgan butun
son.
float.is_integer()- ko`rsatgich butun son bo`lish bo`lmasligini tekshiradi.
float.hex()-float ni hex ga (o`n oltilik sanoq sistemasiga) o`tkazadi.
classmethod float.fromhex(s)- o`n oltilik sanoq sistemasisdan floatga otkazadi.
Ya’ni float.hex() ni teskarisi.

Pythonda sonlar bilan ishlaydigan standart metodlardan tashqari bir qancha modullar
ham bor. Math moduli- murakkab matematik funksiyalarni taqdim etadi:
Random moduli tasodifiy sonlar generatorini tasodifiy tanlov funksiyasini amalga
oshiradi:

Kompleks son

Pythonda komleks sonlar ustida arifmetik amallarni butun va haqiqiy sonlar ustida
bajarilgani kabi oddiy bajarish mumkin yani matematika kursida komleks sonlar
ustida arifmetik amallar qanday bajarilsa xuddi shunga o`xshab bajariladi.
Sonlar bilan ishlash uchun quyidagi funksiyalar mavjud:
1. int([<Ob'ektт>[, <Sanoq sistemasi>]]) - ob'ekni butun songa o'giradi.
ikkinchi parametrga sanoq sitemasini berish mumkin. (agar ikkinchi parametr berilmasa unda s.s. 10)) Dasturi: a = int(7.5) #Butun son
b = int("71", 10) #o'nli s.s.
c = int("071", 8) #sakkizli s.s.
d = int("0xA", 16) #o'noltili s.s.

print ( a, " ", b, " ", c, " ", d )
#javoblar orasiga bo's to'plamni qo'shish

print ( a, b, c, d, sep="" )
#javoblarni orsidan bo'sh to'plamni
#olib taslash

print ( a, b, c, d, end=" " )
#javoblarni qo'shib yozish

print ( a, b, c, d )
2.long([<Ob'ekt>[, <Sanoq sistemasi>]]) — ob'ektni uzun butun songa o'giradi.
ikkinchi parametr sanoq sistemasi qiymati. Dasturi: a = long(7.5)
b = long("71", 10)
c = long("071", 8)
d = long("0xA", 16)

"""print ( a, " ", b, " ", c, " ", d )
print ( a, b, c, d, sep="" )
print ( a, b, c, d, end=" " ) """
print ( a, b, c, d )
3. float([<son yoki satr>]) — Butun sonni yoki satrni haqiqiy sonlarga o'giradi.

Dasturi:
a = float(7)
b = float("7.1")
c = float("12.")

print ( a, b, c )
4. oct(<Son>) — o'nli sanoq sistemasidagi scnni sakkizli satrga o'giradi
Dasturi:
a = oct(7)
b = oct(8)
c = oct(64)

print ( a, b, c )
5. hex(<Число>) — o'nli sanoq sistemasini o'noltili sanoq sitemasig satr ko'rinishida o'giradi.
Dasturi:
a = hex(10)
b = hex(16)
c = hex(255)

print ( a, b, c )
6. round(<son>[, <nuqtada keyingi belgilar>]) — Haqiqiy songa o'girib, kasr qismini 0.5 gacha yaxlitlaydi.
Dasturi:
a = round(1)
b = round(1.49)
c = round(1.50)

print ( a, b, c )
Ikkinchi parametr nutadan keyingi sonlarni chiqaradi. Dasturi: a = round(1.524, 2)
b = round(1.525, 2)
c = round(1.5555, 3)

print ( a, b, c )
7. abs(<son>) — absalyut qiymatni qaytaradi.
Dasturi:
a = abs(-10)
b = abs(10)
c = abs(-12.5)

print ( a, b, c )
8. pow(<son>, <daraja>[, <qoldiq>]) - Sonni darajaga ko'taradi.
Dasturi:
a = pow(10, 2)
b = 10 ** 2
c = pow(3, 3)
d = 3
** 3

print ( a, b, c, d )
Agar uchinch parametr ko'rsatilsa bo'inma qoldig'ini chiqaradi a = pow(10, 2, 2)
b = (10 2) % 2
c = pow(3, 3, 2)
d = (3
3) % 2

print ( a, b, c, d )
13 - Dars. Modul Math. Matematik funksiyalar.

Math va cmath modullarida haqiqiy va compleksli argumentlar uchun matematik funksiyalar to`plangan. Bu C tilida foydalaniladigan funksiyalar. Quyida math modulining funksiyalari keltirilgan. Qayerda z harfi bilan argumentga belgilash kiritilgan bo`lsa, u cmath modulidagi analogik funksiya ham shunday belgilanishini bildiradi.
Acos(z)-arkkosinus z.
Asin(z)- arksinus z.
Atan(z)- arktangens z.
Atan2(y, x)- atan(y/x).
Ceil(x)- x ga teng yoki katta eng kichik butun son.
Cos(z)- kosinus z.
Cosh(x)- giperbolik x kosinusi.
e- e konstantasi.
Exp(z)- eksponenta (bu degani e**z)
Fabs(x)-x absolute raqami.
Floor(x)- xga teng yoki kichik eng katta butun son
Fmod(x,y)- x ni y ga bo`lgandagi qoldiq qism.
Frexp(x)- mantisa va tartibni (m, i) juftligi kabi qaytaradi, m- o`zgaruvchan nuqtali
son, i esa- x=m*2**i ga teng butun son bo`ladi. Agarda 0-(0,0) qaytarsa boshqa
paytda 0.5<=abs(m)<1.0 bo`ladi.
Factorial(x)- x ning faktoriali. N!=1*2*3*…*n
Hypot(x,y)- sqrt(x*x+y*y)
Ldexp(m,i)- m*(2**i).
Log(z)- natural logarifm z.
Log10(z)- o`nlik logarifm z.
Log2(z)-logarifm ikki asosga ko`ra z.
Modf(x)- (y,q) juftlikda x ning butun va kasr qismini qaytaradi.
p-pi konstantasi.
Pow(x,y)- x**y.
Sin(z)- z ning sinusi.
Sinh(z)- z ning giperbolik sinusi.
Sqrt(z)- z ning kvadrat ildizi.
Tan(z)- z ning tangensi.
Tanh(z)- z ning giperbolik tangensi.
Trunc(x)- x haqiqiy sonning butun qismini qaytaradi.
degrees(x)-x ni radiandan gradusga o`tkazish.
radians(x)- x ni gradusdan radianga o`tkazish.
Matematik funksiyalarning ishlatilishi. Dasturi: import math
print(math.pi)
print(math.sin(1.5))
print(math.pow(2,4))
print(math.sqrt(25))
print(math.tan(1))
print(math.pow(25,2))
print(math.pow(25,1/2))
Графика_Python.pptx
1.1 MB
PYTHON - GRAFIKA. Power Pointda grafika
Media is too big
VIEW IN TELEGRAM
PYTHONDA DASTURLASH. Grafika haqida video
14 - Dars. Satrlarni formatlash
Satrlarni qo’shishda (satr1+sate2) o’rniga formatlashni ishlating. Formatlash quyidagi sintaksisga ega:
<Maxsus formatdagi satr> % <qiymati>

<Maxsus formatdagi satr> ichda maxsus spisifikator bor.
%[(<Kalit)][<Bayroq>][<Eni>][<Aniqlik>]<O’girish turi >

<Maxsus satr formati> % <Qiymat>
Masalan:
>>> "%s" % 10 # bir element
'10'
>>> "%s - %s - %s" % (10, 20, 30) # birnecha elementlar
'10 - 20 - 30'
Ikkinch parameter quyidagi parametrga ega:

<Kalit> - lo’g’at kaliti. Masalan:
>>> "%(name)s - %(year)s" % {"year": 1978, "name": "Nik"}
'Nik - 1978'
<bayroq> - bu o’girish. Ogirish uchun quyidagi qiymatlar qo’llaniladi.
# - sakkizli uchun “o” , o’noltili uchun “0x” ishlatiladi. Haqiqiy sonlar uchun hamma vaqt nuqta “.” Ishlatiladi.
Masalan:
>>> print "%#o %#o %#o" % (077, 10, 10.5)
077 012 012
>>> print "%#x %#x %#x" % (0xff, 10, 10.5)
0xff 0xa 0xa
>>> print "%#X %#X %#X" % (0xff, 10, 10.5)
0XFF 0XA 0XA
>>> print "%#.0F %.0F" % (300, 300)
300. 300
0 – sonlar oldidan nullar qo’yish.
>>> "'%d' - '%05d'" % (3, 3) # 5 — maydon eni
"'3' - '00003'"

<Eni > — minimal maydon eni.
>>> "'%10d' - '%-10d'" % (3, 3)
"' 3' - '3 '"
>>> "'%3s''%10s'" % ("string", "string")
"'string'' string'

<Aniqlik> - nuqtadan keying son.
Masalan:
>>> import math
>>> "%s %f %.2f" % (math.pi, math.pi, math.pi)
'3.14159265359 3.141593 3.14'
yoki
>>> "'%*.*f'" % (8, 5, math.pi)
"' 3.14159'"

<o’girish tipi> - o’girish turi beriladi.
s - istalgan ob’ekt. Satr “str()” ham bo’ishi mumkin.
>>> print "%s" % ("Обычная строка")
Oddiy satr
>>> print "%s %s %s" % (10, 10.52, [1, 2, 3])
10 10.52 [1, 2, 3]
r – istalgan ob’ektni satrga aylantiradi “(repr() funksiyasi orqali”.
>>> print "%r" % ("Обычная строка")
'\xce\xe1\xfb\xf7\xed\xe0\xff \xf1\xf2\xf0\xee\xea\xe0'
c – yakka belgini satrga aylantiradi.
>>> for i in xrange(33, 127): print "%s => %c" % (i, i)
d va I - sonning butu qismini qaytaradi:
>>> print "%d %d %d" % (10, 25.6, -80)
10 25 -80
>>> print "%i %i %i" % (10, 25.6, -80)
10 25 -80
o – sakkizlikni qaytaradi:
>>> print "%o %o %o" % (077, 10, 10.5)
77 12 12
>>> print "%#o %#o %#o" % (077, 10, 10.5)
077 012 012
X – onoltik sanoq sistemasin aytaradi:
>>> print "%x %x %x" % (0xff, 10, 10.5)
ff a a
>>> print "%#x %#x %#x" % (0xff, 10, 10.5)
0xff 0xa 0xa Строки 73

X — onoltilini kata harfda qaytaradi:
>>> print "%X %X %X" % (0xff, 10, 10.5)
FF A A
>>> print "%#X %#X %#X" % (0xff, 10, 10.5)
0XFF 0XA 0XA
f va F - haqiqiy sonni qaytaradi:
>>> print "%f %f %f" % (300, 18.65781452, -12.5)
300.000000 18.657815 -12.500000
>>> print "%F %F %F" % (300, 18.65781452, -12.5)
300.000000 18.657815 -12.500000
>>> print "%#.0F %.0F" % (300, 300)
300. 300
e – eksponal sionni qaytaradi:
>>> print "%e %e" % (3000, 18657.81452)
3.000000e+03 1.865781e+04
>>> print "%E %E" % (3000, 18657.81452)
3.000000E+03 1.865781E+04
Метод format()
Misol:
>>> "{0} - {1} - {2}".format(10, 12.3, "string") # indekslar
'10 - 12.3 - string'
>>> arr = [10, 12.3, "string"]
>>> "{0} - {1} - {2}".format(*arr) # indekslar
'10 - 12.3 - string'
>>> "{color} - {model}".format(color="red", model="BMW") # kalitlar
'red - BMW'
>>> d = {"color": "red", "model": "BMW"}
>>> "{color} - {model}".format(**d) # kalit
'red - BMW'
>>> "{color} - {0}".format(2010, color="red") # kombinatsiya
'red - 2010'
>>> arr = [10, [12.3, "string"] ]
>>> "{0[0]} - {0[1][0]} - {0[1][1]}".format(arr) # indekslar
'10 - 12.3 - string' Глава 6 78
>>> "{arr[0]} - {arr[1][1]}".format(arr=arr) # indekslar
'10 - string'
>>> class Car: color, model = "red", "BMW"
>>> car = Car()
>>> "{0.color} - {0.model}".format(car) # atributlar
'red - BMW'
>>> print "{0!s}".format("строка") # str()
строка
>>> print "{0!r}".format("строка") # repr()
'\xf1\xf2\xf0\xee\xea\xe0'
Format parametrlari quyidagi ko’rinishga ega:

[<Tekislash>][<Belgi>][#][0][<Eni>][.<Aniqlik>][<O’girish>]
>>> "'{0:10}' '{1:3}'".format(3, "string")
"' 3' 'string'"
>>> "'{0:{1}}'".format(3, 10) # 10 - это ширина поля
"' 3'"
< — chap tomonga;
> — o’ng tamonga;
^ — O’rtaga. Misol:
>>> "'{0:<10}' '{1:>10}' '{2:^10}'".format(3, 3, 3)
"'3 ' ' 3' ' 3 '"
= — cap tamonga tekslaydi:
>>> "'{0:=10}' '{1:=10}'".format(-3, 3)
"'- 3' ' 3'"

>>> "'{0:=010}' '{1:=010}'".format(-3, 3)
"'-000000003' '0000000003'"

>>> "'{0:+}' '{1:+}' '{0:-}' '{1:-}'".format(3, -3)
"'+3' '-3' '3' '-3'"
>>> "'{0: }' '{1: }'".format(3, -3) # Пробел
"' 3' '-3'"
 b — ikkilikda:
>>> "'{0:b}' '{0:#b}'".format(3)
"'11' '0b11'"
c — butun songa o’giradi:
>>> "'{0:c}'".format(100)
"'d'"
d — o’nlikda;
n — o’nlikda;
o — sakkizlikda:
>>> "'{0:d}' '{0:o}' '{0:#o}'".format(511)
"'511' '777' '0o777'"
x — o’noltilikda:
>>> "'{0:x}' '{0:#x}'".format(255)
"'ff' '0xff'"
X — o’noltilikda faqat kata harflarda:
>>> "'{0:X}' '{0:#X}'".format(255)
"'FF' '0XFF'"
f va F — float ni int ga:
>>> "'{0:f}' '{1:f}' '{2:f}'".format(30, 18.6578145, -2.5)
"'30.000000' '18.657815' '-2.500000'"
Aniqlikni belgilaydi:
>>> "'{0:.7f}' '{1:.2f}'".format(18.6578145, -2.5)
"'18.6578145' '-2.50'" 80
e —eksponansialda:
>>> "'{0:e}' '{1:e}'".format(3000, 18657.81452)
"'3.000000e+03' '1.865781e+04'"
>>> "'{0:E}' '{1:E}'".format(3000, 18657.81452)
"'3.000000E+03' '1.865781E+04'"
 % 100 ko’paytirib oxiriga % belgisini qo’shadif. Masalan:
>>> "'{0:%}' '{1:.4%}'".format(0.086578, 0.000086578)
"'8.657800%' '0.0087%'"
SATRLARNI FORMATLASH. Ushbu rasmdagi dasturni yuqorida berilga dars bilan taqqoslab yxshilab sartma-satr o'rganib chiqing bu juda foydali dastur