你如何使用输入函数和def函数?

时间:2015-06-09 10:16:56

标签: python function

我是编程新手。我对python编码有一些问题(使用def函数)。

所以基本上代码必须从2个数字中给出较小的数字。

问题: 编写代码以执行以下任务:

  1. 定义一个函数tiny_num,它接收两个数字 确定并返回两者中较小的数字 询问用户两个数字
    使用此功能确定较小的数字并显示结果
  2. 所以我有用户输入而不是调用函数并在变量中添加值。

    这就是我的代码的样子:

    def smaller_num(x,y):
        if x>y:
            number= y
        else:
            number= x
        return number
    
    smaller_num(x= input("Enter first number:-") ,y= input("Enter second number:-"))
    
    print("The smaller number between " +  str(x) + " and " + str(y) + " is " + str(smaller_num))
    

    我该如何纠正?目前它不起作用,因为没有定义“x”。但我觉得我在def函数和输入函数中都清楚地定义了它们。那么我该如何解决这个问题?

    感谢那些回答这个问题的人。

5 个答案:

答案 0 :(得分:7)

您从未在全球范围内实际定义xy。您只在执行def smaller_num(x, y)时在函数中定义了它。

执行smaller_num(x= input("Enter first number:-") ,y= input("Enter second number:-")) 时,您不会创建名为xy的变量,而只是为您的函数创建参数。

为了修复代码,请在调用函数之前创建变量xy

def smaller_num(x, y): ## Can be rephrased to  def smaller_num(x, y):
    if x > y:          ##                          if x > y:
        number = y     ##                              return y
    else:              ##                          else:
        number = x     ##                              return x
return number

x = input("Enter first number:-")
y = input("Enter second number:-")
result = smaller_num(x, y)
print("The smaller number between " +  str(x) + " and " + str(y) + " is " + str(result))

您的代码无效的另一个原因是您没有将函数的返回值分配回变量。当你return函数中的某些东西时,以及当你调用函数时,你需要将值赋给变量,就像我有:result = smaller_num(x, y)

当您调用函数时,您从未将值赋给变量,因此它已被浪费。

另外,您使用的是Python 3还是2.7?在python 3中使用input()将返回一个字符串,并将其转换为整数,您可以在int()函数周围调用input()

答案 1 :(得分:3)

这将有效:

def smaller_num(x,y):

    if x>y:
        number= y
    else:
        number= x
    return number


x = input("Enter first number:-")

y = input("Enter second number:-")

smaller = smaller_num(x,y)

print("The smaller number between " +  str(x) + " and " + str(y) + " is " + str(smaller))

答案 2 :(得分:1)

这应该有效:

def smaller_num(x,y):
    if x>y:
        number = y
    else:
        number = x
    return number

x = input("Enter first number:-")
y = input("Enter second number:-")

print("The smaller number between " +  str(x) + " and " + str(y) + " is " + str(smaller_num(x,y)))

答案 3 :(得分:0)

def smaller_num(x,y):
    if x>y:
        number= y
    else:
        number= x
    return number

k=smaller_num(x= input("Enter first number:-") ,y= input("Enter second number:-"))

print("The smaller number between x  & y  is ", k)

答案 4 :(得分:0)

def smaller_num(x,y):
    if x>=y:
        number = y
    else:
        number = x
    return number

x = input("Enter first number:-")
y = input("Enter second number:-")
print("The smaller number between " +  str(x) + " and " + str(y) + " is " + str(smaller_num(x,y)))