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
 


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 (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.

  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
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!
  1. Fungsi int(x) - membuang bahagian pecahan nombor nyata x.
  2. 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