我是编程新手。我对python编码有一些问题(使用def函数)。
所以基本上代码必须从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函数和输入函数中都清楚地定义了它们。那么我该如何解决这个问题?
感谢那些回答这个问题的人。
答案 0 :(得分:7)
您从未在全球范围内实际定义x
和y
。您只在执行def smaller_num(x, y)
时在函数中定义了它。
执行smaller_num(x= input("Enter first number:-") ,y= input("Enter second number:-"))
时,您不会创建名为x
和y
的变量,而只是为您的函数创建参数。
为了修复代码,请在调用函数之前创建变量x
和y
:
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)))