Python 编写基本加法算法

Python 编写基本加法算法,python,algorithm,addition,Python,Algorithm,Addition,我试图写一个加法的基本算法,它给了我一个错误,它说: 回溯(最近一次呼叫最后一次): 回溯(最近一次呼叫最后一次): 文件“solution.py”,第6行,在 打印C 名称错误:未定义名称“C” 我删除了第一个打印语句,它解决了这个问题,但现在它说“a”没有定义 def solveMeFirst(a,b): a = int(raw_input('A=')) b = int(raw_input('B=')) C = a+b print C res = solve

我试图写一个加法的基本算法,它给了我一个错误,它说: 回溯(最近一次呼叫最后一次): 回溯(最近一次呼叫最后一次): 文件“solution.py”,第6行,在 打印C 名称错误:未定义名称“C” 我删除了第一个打印语句,它解决了这个问题,但现在它说“a”没有定义

def solveMeFirst(a,b):

    a = int(raw_input('A='))
    b = int(raw_input('B='))
    C = a+b
    print C
res = solveMeFirst(num1,num2)
print res
  • 通过
    raw\u input
    方法从用户处获取num1和num2
  • 调用你的函数
  • 从函数返回加法值
  • res
    中获取值并打印
  • 代码:-

    def solveMeFirst(a,b):
        C = a+b
        return C
    
    num1 = int(raw_input('A='))
    num2 = int(raw_input('B='))
    res = solveMeFirst(num1,num2)
    print res
    
    输出:

    $ python test.py 
    A=2
    B=2
    4
    
    输出:

    A=10
    B=34
    44
    

    我获取名称错误:未定义名称“num1”

    def solveMeFirst(a,b):
    
        a = int(raw_input('A='))
        b = int(raw_input('B='))
        C = a+b
        print C
    res = solveMeFirst(num1,num2)
    print res
    
    这是有意义的,因为num1和num2在任何地方都没有定义

    num1 = 1 
    num2 = 2 
    def solveMeFirst(a,b):
       a = int(raw_input('A='))
       b = int(raw_input('B='))
       C = a+b
       print C
    res = solveMeFirst(num1,num2)
    print res
    
    工作

    res是None,因为您不从solveMeFirst返回任何值

    如果您尝试在函数solveMeFirst外部打印C,它将是未定义的,因为它仅在函数内部定义

    我认为你正试图做的是:

    num1 = int(raw_input('A='))
    num2 = int(raw_input('B=')) 
    def solveMeFirst(a,b):
       return a+b
    res = solveMeFirst(num1,num2)
    print res
    

    在我看来,至少在这个函数中,C的定义是充分的。原始代码将
    打印C
    放在函数之外(请参阅),这导致错误
    C未定义
    ;编辑不小心把它缩进了。这是一个打字错误和编辑工作过度的例子,嗯?所以现在有一个紧迫的问题:既然OP再次编辑了这个问题,这是正确的缩进吗?这是非常重要的。如果是的话,那么它在语法上没有什么问题,不像你在问题中指出的那样。即使没有return语句,代码也已经运行了。这里让人困惑的是,他认为
    C
    没有定义。我尝试了你的代码,它给我的输出是“A=B=5”,而不是5ahhh,我得到了你,想要传递参数,并且参数被原始输入正确,好的,成功了!不得不从原始输入中删除A=和B=这并没有解释为什么他认为
    C
    没有定义。是的,正确,但post缺少代码详细信息。我只是提供了一些建议,让他能够理解代码中的错误。首先,他没有返回任何东西(而是打印)这一事实并不是他所说的错误。第二,如果问题没有细节,为什么要费心回答,直到你了解了全部情况?我一开始读答案的速度太快了,但这可能是最干净的解决方案。