Bagaimana saya bisa mewakili jumlah tak terbatas di python? Tidak peduli di mana nomor yang anda masukkan dalam program ini, tidak ada nomor yang harus lebih besar dari ini representasi dari infinity.
Di Python, anda dapat melakukan:
test = float("inf")
Di Python 3.5, yang dapat anda lakukan:
import math
test = math.inf
Dan kemudian:
test > 1
test > 10000
test > x
Akan selalu benar. Kecuali tentu saja, seperti yang ditunjukkan, x juga infinity atau "nan" ("bukan nomor").
Selain Itu (Python 2.x SAJA), dalam perbandingan untuk Ellipsis
, float(inf)
lebih rendah, e.g:
float('inf') < Ellipsis
akan kembali benar.
Tidak ada yang tampaknya telah disebutkan tentang negatif infinity secara eksplisit, jadi saya pikir saya harus menambahkannya.
Untuk infinity positif (hanya untuk kepentingan kelengkapan):
math.inf
Untuk negatif infinity:
-math.inf
Di python2.x ada hack kotor yang melayani tujuan ini (tidak PERNAH menggunakannya kecuali benar-benar diperlukan):
None < any integer < any string
Dengan demikian centang i < ''
memegang Benar
untuk setiap bilangan bulat aku
.
Itu telah cukup usang di python3. Sekarang perbandingan tersebut berakhir dengan
TypeError: unorderable types: str() < int()
pertama dari semua jenis float('inf') adalah float meskipun hal ini dapat digunakan untuk perbandingan tujuan tetapi sangat lambat untuk membandingkan terhadap hal itu. Jadi jika anda membandingkan daftar besar terhadap jumlah float('inf') maka berhati-hatilah untuk memilih itu. Saya tidak yakin tentang kinerja "matematika.inf".