Cara menggunakan PYTHON.ORD pada Python
Dan sekarang kita persembahkan muslihat licik yang boleh dilakukan dengan def jerit(string): for aksara in string: print "Beri saya " + aksara print "'" + aksara + "'" jerit("Menang") def tengah(string): print "Aksara tengah ialah:", string[len(string) / 2] tengah("abcdefg") tengah("Pasukan Bola Sepak") tengah("Malaya") Dan outputnya ialah: Beri saya M 'M' Beri saya e 'e' Beri saya n 'n' Beri saya a 'a' Beri saya n 'n' Beri saya g 'g' Aksara tengah ialah: d Aksara tengah ialah: o Aksara tengah ialah: a Apa yang ditunjukkan program-program ini ialah Ciri seterusnya menunjukkan sebahagian ciri khusus def jadi_huruf_besar(rentetan): ## Mengubah rentetan ("string") kepada huruf besar huruf_besar = "" for aksara in rentetan: if 'a' <= aksara <= 'z': lokasi = ord(aksara) - ord('a') ascii_baru = lokasi + ord('A') aksara = chr(ascii_baru) huruf_besar = huruf_besar + aksara return huruf_besar print jadi_huruf_besar("Ini adalah Teks") dengan outputnya menjadi: INI ADALAH TEKS Ini bekerja kerana komputer mewakilkan aksara-aksara sesuatu rentetan sebagai nombor dari 0 ke 255. Python mempunyai fungsi digelar Sekarang kita berlatih menaip secara interaktif: >>> # Integer ke Rentetan >>> 2 2 >>> repr(2) '2' >>> -123 -123 >>> repr(-123) '-123' >>> `123` '123' >>> # Rentetan ke Integer >>> "23" '23' >>> int("23") 23 >>> "23" * 2 '2323' >>> int("23") * 2 46 >>> # Nombor apung ke Rentetan >>> 1.23 1.23 >>> repr(1.23) '1.23' >>> # Nombor apung ke Integer >>> 1.23 1.23 >>> int(1.23) 1 >>> int(-1.23) -1 >>> # Rentetan ke Nombor apung >>> float("1.23") 1.23 >>> "1.23" '1.23' >>> float("123") 123.0 >>> `float("1.23")` '1.23' Jika anda belum mengagaknya lagi, fungsi >>> repr(1) '1' >>> repr(234.14) '234.14' >>> repr([4, 42, 10]) '[4, 42, 10]' >>> `[4, 42, 10]` '[4, 42, 10]' Fungsi >>> v = eval('123') >>> print v, type(v) 123 Jika anda mengguna fungsi Satu fungsi rentetan atau >>> "Ini adalah beberapa perkataan".split() ['Ini', 'adalah', 'beberapa', 'perkataan'] >>> text = "Kelompok pertama, kelompok kedua, ketiga, keempat" >>> text.split(",") ['Kelompok pertama', ' kelompok kedua', ' ketiga', ' keempat'] Perhatikan bagaimana >>> list = text.split(",") >>> len(list) 4 >>> list[-1] ' keempat' >>> list = text.split(",", 2) >>> len(list) 3 >>> list[-1] ' ketiga, keempat' Menghiris |
0 | 1 | 2 | ... | -2 | -1 | ||||||||||
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | |||||||||
text = | " | S | T | R | I | N | G | " | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
↑ | ↑ | ||||||||||||||
[: | :] |
Perhatikan bahawa indeks merah dikira bermula dari permulaan string dan yang biru pula dari akhir string (perhatikan bahawa tiada -0 biru, dan ini logik jika dilihat dari segi akhir rentetan). Oleh sebab -0 == 0, (-0 juga bermaksud "permulaan rentetan"). Sekarang kita bersedia untuk menggunakan indeks buat operasi hirisan:
text[1:4] | → | "TRI" |
text[:5] | → | "STRIN" |
text[:-1] | → | "STRIN" |
text[-4:] | → | "RING" |
text[2] | → | "R" |
text[:] | → | "STRING" |
text[::-1] | → | "GNIRTS" |
- text[1:4] memberikan semua rentetan text di antara tempat ketip 1 dan 4, "TRI". Jika anda abaikan satu daripada argumen [indeks_pertama:indeks_akhir], anda akan mendapat permulaan atau akhir rentetan sebagai lalai: text[:5] memberi "STRIN".
- Bagi kedua-dua indeks_pertama dan indeks_akhir, kita boleh menggunakan kedua-dua skema penomboran merah dan biru: text[:-1] memberikan rentetan yang sama dengan text[:5], kerana indeks -1 berada pada tempat yang sama dengan 5 dalam kes ini.
- Jika kita tidak menggunakan argumen yang mengandungi tanda ttik berganda (
":"
), nombor akan dikendalikan dengan cara lain: text[2] memberi kita satu aksara selepas tempat ketip, "R". - Operasi hirisan khas text[:] bermakna" dari permulaan hingga ke akhir" dan mewujudkan salinan rentetan (atau senarai).
Akhir sekali, operasi hirisan boleh mengandungi tanda titik berganda kedua dan argumen ketiga yang ditakrifkan sebagai "saiz tingkat": text[::-1] bermakna text dari permulaan sehingga ke akhir, dengan saiz tingkat -1. Angka -1 bermaksud "setiap aksara, akan tetapi dari arah sebaliknya". "STRING" terbalik adalah "GNIRTS" (uji saiz tingkat 2 jika anda masih musykil).
Semua operasi hiris bekerja dengan senarai atau list
. Dalam hal ini, rentetan boleh
dikatakan sebentuk senarai yang istimewa dan unsur-unsur list
merupakan aksara-aksara individu. Anda hanya perlu ingat konsep tempat ketip dan indeks bagi menghiris akan kelihatan lebih jelas.
Contoh[sunting]
# Program ini memerlukan pemahaman nombor perpuluhan def to_string(in_int): """Mengubah integer kepada string""" out_str = "" prefix = "" if in_int < 0: prefix = "-" in_int = -in_int while in_int / 10 != 0: out_str = chr(ord('0') + in_int % 10) + out_str in_int = in_int / 10 out_str = chr(ord('0') + in_int % 10) + out_str return prefix + out_str def to_int(in_str): """Mengubah string kepada integer""" out_num = 0 if in_str[0] == "-": multiplier = -1 in_str = in_str[1:] else: multiplier = 1 for x in range(0, len(in_str)): out_num = out_num * 10 + ord(in_str[x]) - ord('0') return out_num * multiplier print to_string(2) print to_string(23445) print to_string(-23445) print to_int("14234") print to_int("12345") print to_int("-3512")
Outputnya:
2 23445 -23445 14234 12345 -3512