我是编程新手.我有一些
python编码的问题(使用def函数).
所以基本上代码必须给出2个数字中较小的数字.
题:
编写代码以执行以下任务:
>定义一个函数tiny_num,它接收两个数字
确定并返回两者中较小的数字.
询问用户两个号码
使用此功能确定较小的数字并显示结果
这是我的代码的样子:
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函数和输入函数中都清楚地定义了它们.那么我该如何解决这个问题呢?
感谢那些回答这个问题的人.
解决方法
你从未真正全局定义过x和y.当你执行def tiny_num(x,y)时,你只在函数中定义它.
当你执行tiny_num(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))
您的代码无法工作的另一个原因是您没有将函数的返回值分配回变量.当你从函数返回一些东西时,再次调用函数时,你需要将值赋给变量,就像我有:result = smaller_num(x,y).
另外,您使用的是Python 3还是2.7?在python 3中使用input()将返回一个字符串,并将其转换为整数,可以在input()函数周围调用int().