python_不用循環打印1-1000


題目:屏幕上打印1-1000這1000個數, 不許使用循環語句/條件語句,不許使用?:算符。 不許在源代碼中用列舉輸出語句的辦法傻打,比如一千個print語句不行,不再贅述其他傻打行為, 大家都能領會精神。
解答:
newline='\n'
numbers=map(lambda x:str(x),range(1,1000))
print newline.join(numbers)

 

import sys
sys.setrecursionlimit(1005)
def pr(n):
  print '%d' % n
  # t = int(1/(n-1000))
  if n < 1000:
    pr(n+1)
    # return None
  # return None
pr(1)
在網上查了,發現python默認的遞歸深度是很有限的,大概是900多的樣子,當遞歸深度超過這個值的時候,就會引發這樣的一個異常。
 解決的方式是手工設置遞歸調用深度,方式為:
import sys   
sys.setrecursionlimit(1000000) #例如這里設置為一百萬

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM