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文件?我知道这不是一成不变的,但指令从来没有真正给出应该如何做的细节。你们觉得怎么样?你们会怎么解决这个问题?在

谢谢各位!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值