Nombor sebenar
Dalam pengaturcaraan, semua nombor dibezakan, pertama sekali, kepada integer ( integer) dan nombor pecahan ( float ).
Untuk menentukan jenis pembolehubah anda, Python mempunyai fungsi type() terbina dalam:
nama = "Ivan"
cetak(jenis(nama)) #skrin akan menunjukkan <kelas 'str'>
n=5
cetak(jenis(n)) # <kelas 'int'>
r=5.0
cetak(jenis(r)) # <kelas 'terapung'>
Nilai 5.0 ialah nombor yang diwakili sebagai perpuluhan. Dalam pengaturcaraan, semua nombor pecahan adalah nombor yang mempunyai titik perpuluhan dalam tatatandanya. Nombor sedemikian dipanggil nombor nyata.
Nombor nyata ialah nombor yang mengandungi titik perpuluhan. Bahagian integer dan pecahan dipisahkan antara satu sama lain dengan titik, bukan koma seperti dalam matematik.
Contohnya, nombor \(1 \over 2\), \(\sqrt 2\) ialah nombor nyata. int tidak mencukupi untuk menyimpan nombor sedemikian.
Python menggunakan float . jenis data untuk mewakili nombor nyata.
Walaupun bahagian pecahan nombor itu sama dengan sifar, seperti dalam pembolehubah r dalam contoh, pengkompil masih akan mencipta pembolehubah sebenar dalam ingatan. Oleh kerana terdapat titik perpuluhan dalam tatatanda nombor!. Titik perpuluhan, seolah-olah, adalah isyarat untuk penterjemah bahawa adalah perlu untuk mencipta pembolehubah sebenar.
Nombor yang sangat besar dan sangat kecil ditulis menggunakan "titik terapung" (dalam apa yang dipanggil format saintifik).
Dalam format saintifik, nombor diwakili sebagai mantissa(bahagian penting nombor) dan eksponen. Apabila ditulis, mantissa dan eksponen dipisahkan antara satu sama lain dengan huruf e (menunjukkan 10 sedikit sebanyak).
Contohnya, anda boleh menyimpan nilai cas elektron ( \(1.60217662 \times 10^{-19}\) C) dalam pembolehubah, menulis dalam bentuk berikut  ;
El = 1.60217662e-19
Hampir semua nombor nyata tidak boleh disimpan dalam memori komputer dengan ketepatan yang sempurna, kerana bilangan bit yang terhad diperuntukkan untuk storan mereka.
Oleh itu, apabila mengira dengan nombor nyata, ralat disebabkan ketidaktepatan perwakilan terkumpul. Selain itu, semakin sedikit ruang yang diperuntukkan, semakin besar ralat ini.
|
Masuk
Untuk memasukkan nombor nyata menggunakan fungsi input() , adalah perlu untuk menukar rentetan aksara, yang merupakan hasil daripada fungsi input() , kepada nombor nyata menggunakan fungsi >float() :
x = float(input())
Jika anda perlu memasukkan beberapa nilai dari satu baris sekaligus, maka kami menggunakan kaedah yang sama seperti untuk integer:
x, y = peta(float, input().split())
Output
Apabila memaparkan nombor nyata, 16 tempat perpuluhan dipaparkan secara lalai. Format ini tidak selalu diperlukan. Jika anda perlu memendekkan format output, gunakan output berformat atau rentetan F.
Format Output
Untuk melakukan ini, gunakan kaedah format() pada rentetan yang ingin kami keluarkan. Dan di dalam format baris ditulis dalam kurungan kerinting selepas kolon. Tanda kurung bagi fungsi format() menunjukkan nama pembolehubah (atau pemalar), yang nilainya akan digantikan ke dalam rentetan dan bukannya pendakap kerinting dalam format yang ditentukan. Bilangan pembolehubah mesti sepadan dengan bilangan pendakap kerinting. Kaedah ini berfungsi dalam Python bermula dari versi 3.
Contoh
|
Penjelasan |
Keluaran skrin |
x = 1 / 6
|
|
|
cetak("{:f}".format(x))
|
format :f mengeluarkan 6 digit secara lalai dalam bahagian pecahan |
0.166667
|
print("{:.3f}".format(x))
|
:.3 bermaksud mengeluarkan 3 aksara selepas titik |
0.167
|
print("{:12.4e}".format(x))
|
:12.4 - nombor pertama (12 ) menentukan jumlah bilangan kedudukan untuk memaparkan nombor (termasuk titik);
nombor kedua (4) - bilangan digit dalam bahagian pecahan;
format e - memaparkan nombor dalam format saintifik. |
1.6667e-01
|
F-string
Satu lagi cara untuk memaparkan rentetan yang diformatkan ialah menggunakan rentetan-f (rentetan-f ). Kaedah ini tersedia dalam Python bermula dari versi 3.6.
cetak(f"{x:f}")
cetak(f"{x:.3f}")
print(f"{x:12.4e}")
F-string ialah rentetan kad bebas, bermula dengan f (atau F ). Setiap kali kami ingin memasukkan nilai beberapa pembolehubah ke dalam rentetan, kami perlu menambah nama pembolehubah yang disertakan dalam kurungan kerinting {} . Di dalam pendakap kerinting, anda boleh menentukan kaedah pemformatan yang serupa dengan kaedah fomat() .
Selain kaedah format() dan F-strings , anda boleh menggunakan cara lain untuk memformat output. Kami mendapat hasil yang sama dengan menulis pernyataan output seperti berikut:
cetak("%f" % (x))
cetak("%.3f" % (x))
print("%12.4e" % (x))
Kaedah pemformatan ini meniru fungsi printf() bahasa C. Kaedah ini dianggap usang, tetapi dalam beberapa kes ia lebih mudah. Selain daripada itu, kaedah ini adalah satu-satunya (daripada yang disebutkan di sini) yang berfungsi dalam Python versi 2.5 dan ke bawah.
Menukar nombor nyata kepada integer
Apabila menyelesaikan masalah, selalunya perlu untuk membundarkan nombor nyata kepada nilai integer terdekat. Terdapat dua fungsi untuk ini.
Mesti ingat!
- Fungsi
int(x) - membuang bahagian pecahan nombor nyata x .
- Fungsi
bulat(x) - membundarkan nombor sebenar x kepada integer terdekat (jika bahagian pecahan nombor ialah 0.5, maka nombor itu dibundarkan kepada nombor genap terdekat).
Contoh
cetak(int(20.12345)) # 20
cetak(bulat(2.5)) # 2
cetak(bulat(3.5)) # 4
cetak(bulat(-2.5)) # -2
cetak(bulat(-3.5)) # -4
|
|
|