python框架django面试问别人什么问你_你如何回答这个django面试问题?
我最近為一家公司的面試前做了一個編程問題。問題是:
創建一個django應用程序,當然是測試驅動的,向世界展示Fibonacci的序列。應用程序應該取一個索引號并顯示結果斐波納契序列。另外,應該有一個頁面顯示最近生成的序列。另外,Fibonacci有點不耐煩,不想一直等著,所以一定要采取措施確保web服務器高效運行。在
我想到了以下幾點:from django.views.generic.simple import direct_to_template
from django.http import Http404
LARGEST_SEQUENCE = [0,1]
LARGEST = 1
LATEST = []
def fib(n):
"""Calculate the nth fibonacci sequence"""
global LARGEST
if n > LARGEST:
while n > LARGEST:
next = LARGEST_SEQUENCE[LARGEST] + LARGEST_SEQUENCE[LARGEST-1]
#print 'appending ', next
LARGEST_SEQUENCE.append(next)
LARGEST += 1
return LARGEST_SEQUENCE
else:
return LARGEST_SEQUENCE[0:n+1]
def latest(request):
results=[]
for n in LATEST:
result = fib(n)
results.append((n,result))
return direct_to_template(request, 'latest.html', {'results':results})
def index(request):
if request.method=="POST":
try:
n=int(request.POST.get('n'))
except:
return Http404
result = fib(n)
if len(LATEST) >= 5:
LATEST.pop()
LATEST.insert(0,n)
else:
result = None
return direct_to_template(request, 'base.html', {'result':result})
“最新”視圖是我的第二個版本,因為第一個版本的工作并不一致。原始版本在最新版本中存儲了“index”中的結果。LATEST最初是fib序列的列表,而不是N的最近值的列表
我想我的主要問題是,將運行時生成的最大fib序列存儲在視圖.py文件?我知道這不是一成不變的,但指令從來沒有真正給出應該如何做的細節。你們覺得怎么樣?你們會怎么解決這個問題?在
謝謝各位!在
總結
以上是生活随笔為你收集整理的python框架django面试问别人什么问你_你如何回答这个django面试问题?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python安装numba_python
- 下一篇: python中api是指什么_pytho