bir sayı biçimlendirmek:Sözlü Pythonistas Common Lisp kod eşdeğer gibi kelimeler olarak bir dizi baskı nasıl Python
[3]> (format t "~r" 1e25)
nine septillion, nine hundred and ninety-nine sextillion, nine hundred and ninety-nine quintillion, seven hundred and seventy-eight quadrillion, one hundred and ninety-six trillion, three hundred and eight billion, three hundred and sixty-one million, two hundred and sixteen thousand
işleyebilir bir numarası doğrulama yazmadım yana
- (? C) Aslında fark, ancak nasıl piton bir hata var üstel kolları ifade: 'int (1e25)' '10000000000000000905969664L' ve' 1 * 10 ** 25' '' 10000000000000000000000000L' üretir. Garip? –
Hiç de garip değil. "1e25", "kayan noktalı değeri 10^25'e en yakın" yapar ve "1 * 10 ** 25", "10'u 10 kez 10 çarpma sonucu 1 çarpın" der. Sabit genişlikli kayan noktalı aritmetik (bilgisayardaki) matematiksel olarak kesin değildir, Python'un son sürümlerinde tamsayılar rasgele kesindir. – Ken
1e25 bir "üstel ifade" değil, bir kayan nokta değişmezidir. Python'da bir kayan nokta sayısı tam olarak 10 ** 25'i temsil edemez (ve bu 2 ** 84> 10 ** 25> 2 ** 83) diye böyle büyük bir sürpriz olmamalıdır. – 6502