ここで初めて何かを尋ねます。リストに読み込んでいる名前のテキストファイルがあります。1回目は\nを削除し、2回目はリストを小文字にします。次に、ユーザーに検索語を要求し、入力を小文字に変換してから、リストの小文字バージョンを検索します。次に、一致のインデックスを取得し、それを使用して、その非小文字バージョンを表示します。アイテムをユーザーにリストします(たとえば、aniviaと入力して、Aniviaを取得できます)。これは正常に機能していますが、私のコードはかなり悪いと確信しています。私がやりたいのは、リストファイル内のいくつかの名前に特定の略語を追加し、それらの略語を入力として受け入れますが、それでもフルネームを表示します。たとえば、ユーザーは「mumu」と入力します そして、リストにAmumuが含まれていることがわかります-Amumuを参照するためのmumu。どうすればその略語を受け入れることができますか?また、MissFortuneのmfやKha'Zixのkhaなどの他のケースもあります。2番目のファイルに略語のリストが含まれていると思いましたが、それは非常に無駄に思え、より良い方法があると確信しています。これまでの私の悪いコードは次のとおりです。
f = open("champions.txt") #open the file
list = f.readlines() #load each line into the list
#print list
list2 = [item.rstrip('\n') for item in list] #remove trailing newlines in copy list
list3 = [item.lower() for item in list2] #make it all lowercase
print "-------\n", list2 #print the list with no newlines just to check
print "which champ" #ask user for input
value = raw_input().lower() #get the input and make it lowercase
if value in list3: #check list for value and then print back a message using that index but from the non-lowercase list
pos = list3.index(value)
print "list contains", list2[pos]
else: #if the input doesn't match an item print an error message
print "error"
必要な方法で機能したら、これをすべてメインファイルの関数に入れます。基本的に、テキストファイルの一部の行を変更して、有効な代替略語を使用し、その略語を受け入れて、フルネームをユーザーに表示できるようにします。たとえば、略語が含まれているセカンダリテキストファイルの行の1つに、次の行があります。
Kog'Maw - kogmaw, kog, km
どうすれば私が持っているものを単純化し、その機能を追加できますか?どこから始めればよいのかよくわかりません。Pythonとプログラミング全般にかなり慣れていません。あなたが提供できるどんな助けにも感謝します、そのような長いポストを申し訳ありません。