2016-09-19 7 views
0

のPython 3.5文字列のインデックス

は私のコードです:

str1 = input("Please enter a full sentence: ").lower() 
print("Thank you, You entered:" , str1) 

str2 = input("Now please enter a word included in your sentence in anyway you like: ").lower() 

if str2 in str1: 
    print("That word was found!") 
else: 
    print("Sorry, that word was not found") 

それがあるとして、それが入力された単語(STR2)を検索し、それが入力中に発見された場合(STR1(文))それは "単語が見つかりました"と言うでしょう)。単語が文中にない場合は、「単語が見つかりませんでした」と表示されます。

これは、単語を検索して見つけたときに、文(str1)内の単語(str2)のインデックス位置をユーザーに知らせるので、これを開発したいと考えています。たとえば、文章(「私はPythonでコードしたい」)があり、単語(「コード」)を検索すると、プログラムは「その単語がインデックス位置に見つかりました:4」と表示されます。

Btwでは、すべての単語を.lowerで小文字に変換するため、コードでは大文字と小文字は区別されません。

誰かが私にこれについていくつかアドバイスを与えることができたら、それは非常に感謝しています!

+0

Python 2.7またはPython 3を使用していますか? – PrestonM

答えて

1

あなたは置き換えることができ、あなたの本によるif ... else

try: 
    print("That word was found at index %i!"% (str1.split().index(str2) + 1)) 
except ValueError: 
    print("Sorry, that word was not found") 
+0

ありがとう、これは私のために働いた。素敵でシンプルな、元のコードに少し変更を加えて、私が欲しかったもの。乾杯! :) –

+0

よろしくお願いします。;-) – trincot

0
print("That word was found at index %i!"% (str1.split().index(str2))) 

これは、str1のstr2の最初のオカレンスのインデックスを出力します。
完全なコードは次のとおりです。

str1 = input("Please enter a full sentence: ").lower() 
print("Thank you, You entered:" , str1) 

str2 = input("Now please enter a word included in your sentence in anyway you like: ").lower() 

if str2 in str1: 
    print("That word was found!") 
    print("that word was found in index position: %i!"% (str1.split().index(str2))) 

、str1.index(STR2))他
: プリント( "申し訳ありませんが、その言葉が見つかりませんでした")

+1

正確ではありません。 'str1.split().index(str2)' –

+0

無効な構文 –

+0

Hmmm ....構文エラーが発生していません....入力を引用符で囲んで入力しましたか? – PrestonM

0
str2 = 'abcdefghijklmnopqrstuvwxyz' 
str1 = 'z' 
index = str2.find(str1) 
if index != -1: 
    print 'That word was found in index position:',index 
else: 
    print 'That word was not found' 

これが印刷されますSTR2でSTR1のインデックスは

+0

私は変数 'str'に名前をつけません。文字列import ascii_lowercaseを使ってアルファベットを得ることができます –

+0

あなたは正しいですが、彼はPythonのはっきりと新しく、彼とそのインポートを混同したくありません。 –

+0

ありがとう、これは私のために働いています。しかし何らかの理由で、私に正しいインデックス番号が与えられていません。例えば、私がstr1のために "私はPythonでコードしたい"と言った後、 "コード"を検索すると、インデックス位置10にあることがわかります。これを修正する方法はありますか? –

0

split()メソッドを使用できます。これは、文字列値で呼び出され、文字列のリストを返します。 index()メソッドを使用して文字列のインデックスを検索します。

str1 = input("Please enter a full sentence: ").lower() 
print("Thank you, You entered:" , str1) 
str2 = input("Now please enter a word included in your sentence in anyway you like: ").lower() 

if str2 in str1: 
    a = str1.split() # you create a list 
    # printing the word and index a.index(str2) 
    print('The ', str2,' was find a the index ', a.index(str2)) 
    print("That word was found!") 
else: 
    print("Sorry, that word was not found") 
関連する問題