首页 > 解决方案 > 不知道为什么我对作业问题的回答不起作用

问题描述

问题

定义一个调用的函数,该函数myfunc接受一个字符串,并返回一个匹配的字符串,其中每个偶数字母为大写字母,奇数字母为小写字母。

我的回答 - 不知道为什么它不起作用:

def myfunc(*arg):
    result = ""
    i = 0
    for x in arg:
        if i%2 ==0:
            result += (x.upper())
        elif i%2 != 0:
            result += (x.lower())
        i += 1
    return(result)

myfunc('anyname')

实际答案:


def myfunc(word):
    result = ""
    index = 0
    for letter in word:
        if index % 2 == 0:
            result += letter.lower()
        else:
            result += letter.upper()
        index += 1
    return result

myfunc('anyname')

标签: python

解决方案


删除*因为*arg使用*手段:

python 函数定义中的特殊语法 *args 用于将可变数量的参数传递给函数。它用于传递非关键字、可变长度的参数列表。

但在你的情况下,我们根本不需要使用*。所以,*从那里删除,你的代码工作得很好。


推荐阅读