2016-10-17 31 views
-4

給定字符串s和單字符串ch,返回s中第一次出現ch的索引。返回s中第一次出現的索引

例如,在('abc', 'b')應該返回1. 如果chs,返回-1

字符串方法不允許使用。

任何人都可以幫忙嗎?

+4

你有什麼迄今所做的下一個問題?給我們一段代碼。 [點擊這裏瞭解如何提出一個很好的問題(https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjbyZHZmOHPAhVNwmMKHZbyBV8QFggjMAE&url=http%3A%2F %2Fstackoverflow.com%2Fhelp%2Fhow-to-ask&usg = AFQjCNEDXp3Jt0aiEKFPFI03PFSjhs3gAw&sig2 = aXmdP2tKS9huoS09qXb0nQ&bvm = bv.135974163,d.cGc) –

+1

顯示您在此嘗試的[mcve]。 StackOverflow不是一個代碼寫入服務。請確保你顯示你的努力,所以社區可以提供幫助。 – idjaw

+1

正如一個提示,如果你不想使用預定義的Python函數,你可以使用'for循環'來完成。 –

回答

1

創建一個類似於str.index()的函數,該函數在查找傳遞的字符的第一個匹配時返回索引。如果不匹配,則引發ValueError異常。例如:

def get_index(my_string, my_char): 
    for i, s in enumerate(my_string): 
     if s == my_char: 
      return i 
    else: 
     raise ValueError 

樣品試驗:

>>> get_index('abcd', 'c') 
2 
>>> get_index('abcd', 'z') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<stdin>", line 6, in get_index 
ValueError 
0

請看看enumerate文檔並請閱讀this你在計算器

def find_ch(s, ch): 
    for i, c in enumerate(s): 
     if ch == c: 
      return i 
    return -1 
print(find_ch('abc', 'd')) 
print(find_ch('abc', 'b')) 
>> -1 
>> 1 
相關問題