enter image description here我们需要创建一个带有列表z
的函数,并返回首先出现y
的索引。例如,如果它是列表中的第二项,它将返回1
等。我们只使用for
循环,if else
语句和布尔值。
我的函数正在处理我给出的所有数字值,但是当我将字符串作为列表放入时,它只返回一个。
def positionfirst(z,y):
val=0
for item in y:
if z!=item:
val+=1
if val==len(y):
return None
else:
return val
答案 0 :(得分:0)
您的图片显示错误:
print((positionfirst('d', ['abcdefg'])))
将返回0,为'd' != 'abcdefg'
,这是['abcdefg']
中唯一的元素。你可能想要
print((positionfirst('d', 'abcdefg'))).
这样,for循环遍历字符串中的字符。您可以添加
print(item)
在你的循环中,看看发生了什么。第一个版本将提供
'abcdefg'
第二个
'a'
'b'
'c'
'd'
'e'
'f'
'g'.
这些是您要比较的项目。最后是你的功能的一个较短的版本:
def positionfirst(z, y):
val = 0
for item in y:
if z == item:
return val
val += 1
return None