Python 关于向参数传递变量
我正在使用python 2.7.8 我目前正在学习参数和方法。我要做的是让用户输入两个不同的变量,然后将它们传递给不同方法中的参数sum()和difference() 我下面的代码是这样的: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
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非常出色,而且