关于将变量传递给参数

时间:2014-11-11 00:41:52

标签: 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

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)没有运行,我看不到任何输出或错误消息,它只是空白。任何人都可以帮我解决任何语法/逻辑错误吗?

2 个答案:

答案 0 :(得分:0)

您的代码存在一些问题

  • 您的缩进很晚

  • computeSumcomputeDif期望这两个数字作为参数,但随后也会从终端询问这些数字

  • 您返回变量SumDif,但从不为它们指定值

  • 您可以拨打computeSumcomputeDif,但不会对返回的值执行任何操作

  • 您永远不会致电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()

答案 1 :(得分:0)

问题在于您不需要main()功能。只需将代码单独放入,即可在运行程序时运行。