Для Firefox и Chrome:
<div style="width:100%;">
<div style="width: 50%; margin: 0px auto;">Text</div>
</div>
Для Internet & nbsp; Explorer, Firefox и Chrome:
<div style="width:100%; text-align:center;">
<div style="width: 50%; margin: 0px auto; text-align:left;">Text</div>
</div>
Свойство text-align:
необязательно для современных браузеров, но оно необходимо в режиме Internet & nbsp; Quirks Mode для поддержки устаревших браузеров.
Здесь нет ошибки здесь. Это явление известно как целочисленное переполнение .
x = np.arange(1,100000001)
print(x.sum()) # 987459712
print(x.dtype) # dtype('int32')
32-битный целочисленный тип, используемый в arange
для данного входа, просто не может содержать 5000000050000000. В лучшем случае это может занять 2147483647 .
Если вы явно используете тип данных с большим целым или с плавающей точкой, вы получите ожидаемый результат.
a = np.arange(1, 100000001, dtype='int64').sum()
print(a) # 5000000050000000
a = np.arange(1.0, 100000001.0).sum()
print(a) # 5000000050000000.0
Я подозреваю, что вы используете Windows, где тип данных результата представляет собой 32-битное целое число (в то время как для тех, кто использует, скажем, Mac OS X или Linux, тип данных - 64 бит). Обратите внимание, что 5000000050000000 % (2**32) = 987459712
Попробуйте использовать
a = np.arange(1, 100000001, dtype=np.int64).sum()
или
a = np.arange(1, 100000001).sum(dtype=np.int64)
P.S. Любой, кто не использует Windows, может воспроизвести результат следующим образом:
>>> np.arange(1, 100000001).sum(dtype=np.int32)
987459712
numpy
делает свою собственную арифметику, но в качестве числового пакета лучше иметь дело с вычислениями, не хуже. – alexis 4 April 2017 в 15:02arange
вводит тип данных из ввода. Так как100000001
достаточно мало, кажется разумным использоватьint32
. На самом деле, поскольку я работаю на 32-битном Python и использую целые массивы в основном для индексирования, я понимаю, что по умолчанию используется тип данных размера указателя. – kazemakase 4 April 2017 в 15:31