Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 关于向参数传递变量_Python_Python 2.7_Arguments - Fatal编程技术网

Python 关于向参数传递变量

Python 关于向参数传递变量,python,python-2.7,arguments,Python,Python 2.7,Arguments,我正在使用python 2.7.8 我目前正在学习参数和方法。我要做的是让用户输入两个不同的变量,然后将它们传递给不同方法中的参数sum()和difference() 我下面的代码是这样的: def computeSum(x, t): x = int(raw_input('Please enter an integer: ')) t = int(raw_input('Please enter a second integer: ')) x+t return Sum de

我正在使用python 2.7.8

我目前正在学习参数和方法。我要做的是让用户输入两个不同的变量,然后将它们传递给不同方法中的参数sum()和difference()

我下面的代码是这样的:

def computeSum(x, t):
    x = int(raw_input('Please enter an integer: '))
    t = int(raw_input('Please enter a second integer: '))
    x+t
return Sum

def computeDif(y, j):
    y = int(raw_input('Please enter an integer: '))
    j = int(raw_input('Please enter a second integer: '))
    y+j
return Dif

def main():
    raw_input('Would you like to find the sum of two numbers or the difference of two numbers?: ')
    answer = 'sum'
while True:
    computeSum()
else:
    computeDif()

由于某些原因,我的编译器(pyScriptor)没有运行,我看不到任何输出或错误消息,它只是空白。有人能帮我解决语法/逻辑错误吗

您的代码有一些问题

  • 你的压痕太差了

  • computeSum
    computeDif
    期望这两个数字作为参数,但也从终端请求它们

  • 返回变量
    Sum
    Dif
    ,但从不给它们赋值

  • 您可以调用
    computeSum
    computeDif
    ,但绝不对返回的值执行任何操作

  • 您从不调用
    main
    。您知道您不需要
    main
    函数吗?您只需将代码放在函数定义之后即可

这可能有点接近你的想法

def computeSum(x, t):
    return x + t

def computeDif(y, j):
    return y - j

def main():
    while True:
        answer = raw_input('Would you like to find the "sum" of two numbers or the "dif"ference of two numbers? ')
        a = int(raw_input('Please enter an integer: '))
        b = int(raw_input('Please enter a second integer: '))

        if answer == 'sum':
            print(computeSum(a, b))
        elif answer == 'dif':
            print(computeDif(a, b))
        else:
            print('Please enter "sum" or "dif"')

main()

问题是您不需要
main()
函数。只需将代码(不包含)单独放入,它将在运行程序时运行。

是否在末尾调用
main
?您的
返回
行没有缩进,而
while
循环也没有缩进。这是故意的,还是把它复制到这里搞砸了?您还需要将输出分配给变量
Sum
Dif
,以返回它们,例如
Sum=x+t
。或者,完全去掉那些无用的
Sum
Dif
,只需将每个函数的最后一行更改为
返回x+t
返回y+j
。(虽然我不知道为什么要添加两个数字以返回差值…)您可以这样做,但它不必要地污染了全局范围,因此使用
main()
。谢谢!这使我对这个问题更加清楚。现在我只需要找到一个好的编译器重新开始编码!JetBrains的PyCharm非常出色,而且