我有這個程序:如何得到單詞中的字母數字?
word = input('enter word:')
letter = input('enter letter to find:')
y = word.find(letter)
print(y)
而且只打印0:
enter word:pythop
enter letter to find:p
0
>>>
所以我怎樣才能既信「P」,因爲它只能識別它的一個的位置?謝謝
我有這個程序:如何得到單詞中的字母數字?
word = input('enter word:')
letter = input('enter letter to find:')
y = word.find(letter)
print(y)
而且只打印0:
enter word:pythop
enter letter to find:p
0
>>>
所以我怎樣才能既信「P」,因爲它只能識別它的一個的位置?謝謝
你確實需要一個循環。如果你只需要檢查單個字母(而不是子字符串),可以列舉單詞的字符:
word = input('enter word:')
letter = input('enter letter to find:')
ys = [i for i, l in enumerate(word) if l == letter]
print(ys)
你明白了!字符串位置0是字符串中的第一個位置。
>>> 'pythop'.find('p')
0
>>> 'pythop'.find('y')
1
>>>
是的......但那裏有兩個p,它只識別一個......所以我怎麼能得到它? –
更新我的答案,由於錯字:
我會做這樣的事情:
word = input('enter word:')
letter = input('enter letter to find:')
y = [i for i in range(len(word)) if word.startswith(letter, i)]
print(y)
希望這有助於
是啊..它幫助..謝謝 –
您可以用找到的開始和結束位置。這裏的文檔字符串:
find(...)
S.find(sub [,start [,end]]) -> int
Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.
你已經明白了。 'y'是索引。 find()函數找到第一個匹配項。 – Alperen