如何使用内部循环函数重写内部元素?

2024-09-29 06:29:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一周前才开始学习Python,我做了一个家庭作业,思考如何使用海量和函数实现它。我写了可能超过200行的代码,但不能唯一的这一点。 这段代码首先改变了大量元素的含义,而不是其他元素。也许有人能教我一些专业的东西。)

number = int(input())
number2 = int(input())
number3 = int(input())

def OddEven():
    i = 0
    while i < 3:

        if (numArray[i] % 2) == 0:
            numArray[i] = 'even'
            return numArray[i]
            # return numArray[0]
        i += 1
numArray = [number, number2, number3]
OddEven()
print(numArray[0], numArray[1], numArray[2])

Tags: 函数代码元素numberinputreturnintnumarray
2条回答

作为一名编程新手,我不希望您了解函数作用域和全局变量,但您下面的教程应该会教您如何了解它们

问题在于OddEven()函数中没有定义变量numArray。在Python中,在函数外部生成的任何变量都无法在函数中访问。因此,您必须向函数中添加一个参数,或者将numArray变量设置为全局变量

更好的做法是使用参数。如果您不知道,参数就是传递给函数的变量。要添加参数,可以按如下方式重写代码:

def OddEven(array):括号中的任何内容都被视为参数,可以使用逗号(,)分隔参数

这些参数并不复杂。它们的使用与普通变量完全相同,只是不能为它们指定新的值(但可以修改它们)。只需确保用参数名替换numArray

现在可以这样调用函数:OddEven(numArray)

另外,当您从函数返回变量时,最好将其存储在如下变量中:newArray = OddEven(numArray),否则函数将被视为无用。祝你编程之旅好运

编辑:如果你从一个函数中return,你将停止它。因此,最好只将值存储在另一个数组中,然后从函数返回数组

您正在if块内返回函数。它所做的是返回值并退出函数。也就是说,return语句之后的代码将不会执行。因此,如果第一个值为偶数,则返回该值,其余代码(函数内部)将不执行。只要删除return语句,代码就可以正常工作

代码

number = int(input())
number2 = int(input())
number3 = int(input())

def OddEven():
    i = 0
    while i < 3:
        if (numArray[i] % 2) == 0:
            numArray[i] = 'even'
            # Return statement removed
        i += 1
numArray = [number, number2, number3]
OddEven()
print(numArray[0], numArray[1], numArray[2])

输入

2
4
3

输出

even even 3

相关问题 更多 >