2014-09-07 5 views
2

수는 파이썬에서 매우 큰 자연수를 비 지수 형태로 인쇄하는 방법은 무엇입니까?

n = input() 
print(n) #gives output in scientific notation 

어떻게 전체 번호를 매우 클 수있다? 당신은 정수 나누기를 원하는 경우

s = (input())  #100000000000000000000000000000000000000 
if int(s[-1])%2 == 0: 
    print (2) 
    print (2) 
    print (int(s)/2)   #5e+37 
+1

질문이 명확하지 않습니다. "입력"이 어떻게 생겼는지, 그리고 출력 결과는 무엇인지 예를 들어주세요 –

+0

질문이 편집되었습니다 – user3080029

답변

2

파이썬 3에서의 // 연산자를 사용합니다 :

PS :

편집 파이썬 새로운

print(int(s) // 2) 

분할의 결과 것입니다 정수가되어야하며 과학 표기법으로 인쇄되지 않습니다.

+2

'// 연산자는 Python 2.2 *로되어 있습니다. (https://docs.python.org/3 /whatsnew/2.2.html#pep-238-changing-the-division-operator). 그렇기 때문에 (파이썬 2에서도) 정수 나누기를 얻는 것이 좋습니다. 당신의 말씨는'//'가 python3의 일부일 뿐인 것처럼 해석 될 수 있고, 하나는 python2에서'/'를 사용해야합니다. – Bakuriu

0

{:2E} 형식 지정 코드를 사용하여 큰 숫자를 과학 표기법으로 포맷 할 수 있습니다. 예 :

>>> "{:.2E}".format(100000000000000000000000000000000000000) 
'1.00E+38' 

또 다른 변화는이 작업을 수행합니다 :

>>> n = 100000000000000000000000000000000000000 
>>> '%2E' % n 
'1.000000E+38' 

는 출력에서 ​​여분의 0을 밖으로 제거에 대한 논의 this question를 참조하십시오.

관련 문제