我在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)没有运行,我看不到任何输出或错误消息,它只是空白。任何人都可以帮我解决任何语法/逻辑错误吗?
答案 0 :(得分:0)
您的代码存在一些问题
您的缩进很晚
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()
答案 1 :(得分:0)
问题在于您不需要main()
功能。只需将代码单独放入,即可在运行程序时运行。