python - 不知道为什么我对作业问题的回答不起作用
问题描述
问题
定义一个调用的函数,该函数
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')
解决方案
删除*
因为*arg
使用*
手段:
python 函数定义中的特殊语法 *args 用于将可变数量的参数传递给函数。它用于传递非关键字、可变长度的参数列表。
但在你的情况下,我们根本不需要使用*
。所以,*
从那里删除,你的代码工作得很好。
推荐阅读
- json - 如何使用 Alamofire 和 swift 4 为 Clarifai API 编写 POST 请求?
- gcc - -fomit-frame-pointer gcc 选项如何使调试变得不可能?
- python-2.7 - SQLite 按 asc 排序
- html - 是否可以在自定义的 Azure AD B2C 用户界面中使用 SVG?
- c# - 如果监视文件夹被删除,则不会引发 FileSystemWatcher 错误事件 - 但仅当监视文件夹中包含文件时
- android - Android studio 两边不停的动图
- android - 当我运行我的 android studio 项目时,它显示以下错误
- neo4j - Neo4j 和 Cypher:从共享关系的连接节点获取计数
- javascript - Cordova Ionic NFC 标签写入:标签容量为 0 字节?
- python - 尝试使用 2 列