使用随机整数和Flas创建Key/Value JSON对象

2024-09-30 06:15:44 发布

您现在位置:Python中文网/ 问答频道 /正文

最近,我被要求在一个Flask应用程序上进行扩展,以便创建一个将掷骰子并将结果作为JSON对象返回的路由。在

我以为我已经正确地完成了这个程序,但是很失望地发现我的代码生成的不是一个JSON对象?在

有人知道我将如何将下面的代码作为键/值对返回骰子吗?此时,当我访问rolldice路由时,输出被Jsonified为两个骰子掷骰子的总和。我不知道如何将其转换为键/值对。感谢您的帮助,再次感谢。在

这是我的代码:

from flask import Flask
from flask import jsonify
app = Flask(__name__)

import json
import random

@app.route('/')
def hello_world():
    return 'Hello World!'

# Create a route and function for rolling dice.
@app.route('/rolldice')
def dieobject():
    # Define rollcount
    rollcount = []
    # Define the number of times we will roll two dice.
    for i in range(0, 1):
        # Define rolling two dice.
        two_dieobject = random.randint(1, 6) + random.randint(1, 6)
        # Take output of our dice roll and pass it to rollcount.
        rollcount.append(two_dieobject)
    # Return the value of rollcount as JSON Data.
    # Data will be presented as one integer which is the sum of two dice rolls.
    return jsonify(rollcount)

if __name__ == '__main__':
    app.debug = True
    app.run()

对于那些问到这一点的人,我得到的是:

^{pr2}$

其中整数是两个骰子掷骰子的总和。在


Tags: ofthe对象importjsonappflaskrandom
1条回答
网友
1楼 · 发布于 2024-09-30 06:15:44

也许是这样的。它在一个循环中执行滚动,并使用sum函数将它们相加。在

from flask import Flask, jsonify
import random

app = Flask(__name__)


def roll(numrolls=1):
    return sum(random.randint(1, 6) for _ in range(numrolls))


@app.route('/rolldice')
def dieobject():

    # make dictionary here
    return jsonify({'value': roll(numrolls=2), 'rolls': 2})

if __name__ == '__main__':
    app.run(debug=True)

我把它扩大了一点。它返回一个掷骰值和用来获得该值的骰子数。您可以再次扩展它,让flask服务获取一个参数,说明要掷多少骰子。在

输出

^{pr2}$

相关问题 更多 >

    热门问题