繁体   English   中英

关于将变量传递给参数

[英]Regarding passing variables to an argument

我正在使用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)无法运行,并且我看不到任何输出或错误消息,只是空白。 有人可以在语法/逻辑错误方面为我提供帮助吗?

您的代码有一些问题

  • 您的缩进距离很远

  • computeSumcomputeDif期望computeDif两个数字用作参数,然后还要从终端请求它们

  • 您返回变量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()

问题在于您不需要main()函数。 只需将代码本身缩进即可,当您运行程序时它将运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM