Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python用JSON编码数学运算的结果?_Python - Fatal编程技术网

如何从Python用JSON编码数学运算的结果?

如何从Python用JSON编码数学运算的结果?,python,Python,我正在尝试以JSON格式保存添加的结果。我希望输出如下内容: Result_0=[add,1,1,2] 但我得到的结果是: {Result_0=["add",1,1,null]} 我不明白为什么它将操作结果读取为空值。这是我的代码: from Exercise_0 import * import json if __name__=="__main__": c= Calculator('Casio') d={} a=1 b=1 result=c.ad

我正在尝试以JSON格式保存添加的结果。我希望输出如下内容:

Result_0=[add,1,1,2]

但我得到的结果是:

{Result_0=["add",1,1,null]}
我不明白为什么它将操作结果读取为空值。这是我的代码:

from Exercise_0 import *
import json

if __name__=="__main__":
    c= Calculator('Casio')
    d={}
    a=1
    b=1
    result=c.add(a,b)
    key="Result_0"
    d[key]=["add",1,1,result]
    print(json.dumps(d))

练习0:

class Calculator():
    def __init__(self, name):
        self.name=name


    def add(self, number_1, number_2):
        print(f"{number_1}+{number_2}={number_1+number_2}")


    def sub(self, number_1,number_2):
        print(f"{number_1}-{number_2}={number_1-number_2}")

    def mul(self, number_1,number_2):
        print(f"{number_1}*{number_2}={number_1*number_2}")

    def div(self, number_1,number_2):   
        print(f"{number_1}/{number_2}={number_1/number_2}")
将add()更改为:

您将获得:

{“结果0”:[“添加”,1,1,2]}

对于其他功能,如
sub
mul
。。。同样,结果返回到
result
变量,该变量稍后与函数result的值一起使用。比如:

import json

class Calculator():
    def __init__(self, name):
        self.name=name

    def add(self, number_1, number_2):
        return number_1+number_2

    def sub(self, number_1, number_2):
        return number_1-number_2

    def mul(self, number_1, number_2):
        return number_1*number_2

    def div(self, number_1, number_2):   
        return number_1/number_2


if __name__=="__main__":
    c= Calculator('Casio')
    d={}
    a=3
    b=2

    key="Result_0"
    result=c.add(a,b)
    d[key]=["add",3,2,result]
    print(json.dumps(d))

    result=c.sub(a,b)
    d[key]=["sub",3,2,result]
    print(json.dumps(d))

    result=c.mul(a,b)
    d[key]=["mul",3,2,result]
    print(json.dumps(d))

    result=c.div(a,b)
    d[key]=["div",3,2,result]
    print(json.dumps(d))
导致:


只需以json格式保存并显示为json输出。没有特别的紫色,你是说编码?这里没有加密,这是你的问题
add()
(以及所有其他操作)不返回任何内容。因此,Python中的
None
,在JavaScript中变成
null
。将
print(foo)
替换为
return foo
。正如我所说,您不会
return
任何内容。这就是你做错的地方。
import json

class Calculator():
    def __init__(self, name):
        self.name=name

    def add(self, number_1, number_2):
        return number_1+number_2

    def sub(self, number_1, number_2):
        return number_1-number_2

    def mul(self, number_1, number_2):
        return number_1*number_2

    def div(self, number_1, number_2):   
        return number_1/number_2


if __name__=="__main__":
    c= Calculator('Casio')
    d={}
    a=3
    b=2

    key="Result_0"
    result=c.add(a,b)
    d[key]=["add",3,2,result]
    print(json.dumps(d))

    result=c.sub(a,b)
    d[key]=["sub",3,2,result]
    print(json.dumps(d))

    result=c.mul(a,b)
    d[key]=["mul",3,2,result]
    print(json.dumps(d))

    result=c.div(a,b)
    d[key]=["div",3,2,result]
    print(json.dumps(d))
{"Result_0": ["add", 3, 2, 5]}
{"Result_0": ["sub", 3, 2, 1]}
{"Result_0": ["mul", 3, 2, 6]}
{"Result_0": ["div", 3, 2, 1.5]}