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
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%'"