gpt4 book ai didi

jinja 的 python 测验

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:31 25 4
gpt4 key购买 nike

我正在学习 python,为了练习,我必须使用 jinja 构建一个测验。对于测验,我必须构建一个随机函数,以便问题是随机的。但我的问题是我的代码运行不正确。使用我的代码,我收到错误“TypeError:列表索引必须是整数,而不是 NoneType”有人有建议吗?它是如何工作的?

#!/usr/bin/env python
import os
import jinja2
import webapp2
import random


template_dir = os.path.join(os.path.dirname(__file__), "templates")
jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir), autoescape=False)

class BaseHandler(webapp2.RequestHandler):

def write(self, *a, **kw):
return self.response.out.write(*a, **kw)

def render_str(self, template, **params):
t = jinja_env.get_template(template)
return t.render(params)

def render(self, template, **kw):
return self.write(self.render_str(template, **kw))

def render_template(self, view_filename, params=None):
if not params:
params = {}
template = jinja_env.get_template(view_filename)
return self.response.out.write(template.render(params))



class MainHandler(BaseHandler):


def get(self):
city = cities[secret]
return self.render_template("index.html", params={"picture" : city.picture, "country" : city.country})

def post(self):
capital = self.request.get("capital")
city = cities[secret]
if capital == city.name:
return self.write("That's right :)")
else:
return self.write("Sorry, it's wrong")

class City(object):
def __init__(self, name, country, picture):
self.name = name
self.country = country
self.picture = picture

cities = [City (name="Vienna""Berlin", country="Austria""Germany", picture="http://www.mpnpokertour.com/wp-content/uploads/2015/08/Slider-Vienna.png""http://polpix.sueddeutsche.com/bild/1.1406949.1355282590/940x528/berlin-staedtetipps-szkorrespondenten.jpg")]
secret = random.seed(len(cities))

app = webapp2.WSGIApplication([
webapp2.Route('/', MainHandler),
], debug=True)

最佳答案

secret = random.seed(len(cities))

这会将 secret 设置为 None,因为种子函数不返回任何内容。您可能感到困惑seedrandint 。 Seed 用于初始化随机数生成器(通常不需要,因为 python 自动执行),而 randint 选择一个随机数并返回它。

secret = random.randint(0, len(cities) - 1)

→ 这会将 secret 设置为 0 到城市数量(减一)之间的随机整数(含)。

关于jinja 的 python 测验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40073247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com