使用随机整数和 Flask 创建键/值 JSON 对象



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

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

有谁知道我将如何获取下面的代码并将掷骰子作为键/值对返回?此时,当我访问rolldice路线时,输出被Json化为两个掷骰子的总和。我不确定如何将其转换为键/值对。任何帮助不胜感激,再次感谢。

这是我的代码:

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()

对于那些在这里问的人是我收到的输出:

[
  7
]

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

也许是这样的。它循环执行滚动,并使用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)

我扩展了一点。它返回掷骰值和用于获取该值的骰子数。您可以再次扩展它,让烧瓶服务采用一个参数,说明如果需要,可以掷多少骰子。

输出

{
  "rolls": 2, 
  "value": 7
}

最新更新