Intro: Ich habe fortgesetzt, ein Lehrbuch über die Programmierung (Python, speziell) zu folgen, mit dem neuesten "Problem" zu lösen, die Schaffung eines 'Phone Number Look-up'.Wie man eine Suchfunktion insensitiv macht | Python
Die Kürze: Das Lehrbuch der Benutzer auffordert, zwei parallele Reihen (7 Freund Namen & Telefonnummern) und eine Suchfunktion zu erstellen, die die Menschen Array Schritte durch und gibt sowohl dieses Suchergebnis (basierend auf Benutzereingaben) von der Freund (e) Name (n) und die entsprechende Telefonnummer. (Anmerkung: Namen und entsprechenden Telefonnummern unter Verwendung identischer Indexpositionen werden
das Problem: ich habe def
ein arraysAndSearch
Modul (das hat meine people
und phoneNumbers
array
) und verwendet enumerate()
für die einfache Schleife ov er die people
Array und inc. ein automatischer Zähler. Das Programm funktioniert, da es vollständige und teilweise Übereinstimmungen sowohl der Person als auch der entsprechenden Index-ID im phoneNumbers
Array zurückgibt, jedoch I hatteProbleme, die versuchen, meinen Code anzupassen, so dass Fall in-sensitivity beobachtet wird.
z. Suche nach 'Katie' gibt die zwei erwarteten Werte aus dem Array people
und die entsprechende Index-ID aus phoneNumbers
zurück. Die Suche nach 'Katie' gibt keine Ergebnisse zurück, ich bekomme einfach meine Fehlermeldung, die so codiert ist, dass sie if not arraySearch:
erscheint.
-Code Extract:
def arraysAndSearch(nameSearch):
people = ['Silviu Ciocanel', 'Katie Trolan', 'Katie MacPherson']
phoneNumbers = ['310-443-7798', '562-905-3343', '310-983-5209']
arraySearch = [people for people in enumerate(people) if nameSearch in people[1]]
for index, nameSearch in arraySearch:
print("Name: ", nameSearch, "\nPhone:", phoneNumbers[index])
if not arraySearch:
print("No matches in phone book :(")
print("****************************")
Ist jemand in der Lage einige Hinweise darüber zu geben, wie ich Fall in Empfindlichkeit integrieren können?
„Das Lehrbuch fordert den Benutzer auf zwei parallele Arrays erstellen "Wow, ich hoffe es gibt mehr Kontext dazu oder es ist ein schrecklicher Ratschlag. Die Datenstruktur der Wahl sollte ein Wörterbuch sein, in dem die Schlüssel Kleinbuchstaben sind und die Werte die Telefonnummern sind. – timgeb
Mögliches Duplikat von [Wie führe ich einen Vergleich der Groß-/Kleinschreibung ohne Zeichenfolgen durch?] (Https://stackoverflow.com/questions/319426/how-do-i-do-a-case-insensitive-string-comparison) –