【问题标题】:Simple multiplication and division calculator on Python 3Python 3 上的简单乘法和除法计算器
【发布时间】:2017-11-30 18:40:43
【问题描述】:

这是练习:

单参数是带 * 或 / 操作符的操作符

默认运算符是“*”(乘)

返回乘法或除法的结果

如果运算符不是“*”或“/”,则返回“无效运算符”

这里的说明有很多让我困惑的地方,我知道我还没有解决它,但这是我最接近解决这个问题的方法:

def multiply(operator):

op = (x)

return op

ops = input ("what would you like the operator to be? ")

x = input()

y = input()

if ops == "*":

return int (x) * int (y)

elif ops == "/":

return int (x) / int (y)

else:

return "invalid operator"

print (multiply())

我不能将`return'保留在函数之外,那么我是否将所有条件都保留在函数中?

【问题讨论】:

标签: python python-3.x calculator


【解决方案1】:

首先,您需要了解 return 的实际作用。当解释器到达代码中的 return 语句时,它会将该值返回到调用它的任何位置。例如,假设我有一个函数sum_two_vals。此函数将两个值作为输入 ab 并返回它们的总和。

sum_two_vals(a, b):
    return a + b

print(sum_two_vals(4, 5))

这段代码将转到函数sum_two_vals,执行该函数中的任何内容,然后打印出结果。当您返回时,它会将您返回的任何内容发送回您调用它的位置。另外您应该注意,当您返回时,所有后续代码都不会执行。当您像第三行代码一样返回“op”时(顺便说一句,op 是完全未定义的),该 return 语句后面的任何代码都不会执行。给您的问题要求您编写带有一个参数operator 的代码,并确定它是除法还是乘法。您不会要求用户在函数内输入 operator 值,因为它是作为参数传入的。

下面是更接近您的代码应有的样子:

def multiply(operator):

    x = float(input('Enter number 1: '))

    y = float(input('Enter number 2: '))

    if operator == "*":

        return x * y

    elif operator == "/":
        return x / y

    else:
        return "invalid operator"

print(multiply(input("Enter '/' or '*': ")))

阅读函数以及返回如何工作here。希望这会有所帮助。

【讨论】:

  • 非常感谢大家!现在很清楚,我会尽快阅读你给我的那些链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 2013-10-22
相关资源
最近更新 更多