【问题标题】:Python Calculator Programming ErrorsPython 计算器编程错误
【发布时间】:2015-10-10 00:22:12
【问题描述】:
def add(x,y):

  y = int( input("Enter First number "))
  x = int( input("Enter Second number "))
  answer = x + y
  print (answer)

def subtract(x,y):

  answer = x - y
  print (answer)
  y = int ( input("Enter First number "))
  x = int ( input("Enter Second number "))


operation = input("Subtract or Add ")

if operation == "add":

  add(x,y)

else:

  subtract(x,y)

我不断收到错误消息,提示未使用变量 x 和 y。请帮忙。我已经坚持了一段时间了。

【问题讨论】:

  • 你的代码有很大的缩进问题。
  • 欢迎来到 Stack Overflow。我已经格式化了你的代码。请尽量让其他人更容易帮助您。

标签: python function python-3.x parameters calculator


【解决方案1】:

您的示波器有问题。您不能在调用函数之前调用 x 或 y,因为这些变量是在函数内部声明的。一次做一次。首先你问什么功能。然后一旦在你要求 x 和 y 的函数内部

def add():

  x = int( input("Enter First number "))
  y = int( input("Enter Second number "))
  answer = x + y
  print (answer)

def subtract():

  x = int ( input("Enter First number "))
  y = int ( input("Enter Second number "))
  answer = x - y
  print (answer)

operation = input("subtract or add ")

if operation == "add":
  add()
else:
  subtract()

【讨论】:

    【解决方案2】:

    欢迎使用 Stack Overflow,欢迎使用 Python。

    您可能知道,在 Python 中缩进非常重要,因为它们定义了哪些代码属于哪个块。

    查看您的请求,我必须假设这是您的代码的反映。所以我认为如果你使用以下缩进,它可能会做你想要的:

    def add(x,y):
        answer = x + y
        return answer  # Please notice how i use RETURN to return a value from the function call
    
    def subtract(x,y):
        answer = x - y
        return answer
    
    y = int ( input("Enter First number "))
    x = int ( input("Enter Second number "))
    
    operation = input("Subtract or Add ")
    
    result = None
    if operation == "add":
        result = add(x,y)  # Please notice how I store what the function returns!
    else:
        result = subtract(x,y)
    
    if (result != None):
        print result
    else:
        print "There is no result!"
    

    请阅读 cmets 并询问您是否还有其他问题。

    也许您想考虑详细介绍 Python

    【讨论】:

      【解决方案3】:

      你的代码有很多问题,真的很混乱。

      1. 正如 ppperry 所说,缩进。在编写 python 时,您应该使用精确的 4 个空格作为缩进。

      2. 您没有意识到 input 和 raw_input 之间的区别。 如果您使用的是 python2,并且您的输入不是数字,请在尝试评估您的输入时输入。写在python doc。 如果您使用的是python3,则无需担心这一点,因为在python3中没有更多的raw_input,并且输入等于旧的raw_input。这是被问到here

      3. 关注 enpenax 的回答。你应该在调用它们之前先定义 x 和 y。

      【讨论】:

        猜你喜欢
        • 2011-05-05
        • 2012-04-22
        • 2022-06-15
        • 2019-12-05
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多