Как использовать для l oop, чтобы найти, содержит ли имя человека строку и распечатать их на Python? - PullRequest
0 голосов
/ 24 марта 2020

Я только начал изучать Python, и я выполняю задание, в котором я должен использовать строку поиска для поиска в кортеже любого, чье имя содержит строку поиска, распечатать его, а затем сообщить пользователю, как было много матчей из общего числа людей в группе. Я попытался использовать для l oop, но не знал, как его настроить, и в результате я получил большие, незначительные ошибки. Код можно найти ниже, но, пожалуйста, не дайте мне прямых ответов! Просто подтолкни меня в правильном направлении, потому что я хочу решить это сам, чтобы научиться правильно делать вещи и учиться на собственных ошибках.

КОД:

names = [("Rachel B.", 1), ("George D.", 2), ("Crainer K.", 3), ("Baxter M.", 4), ("Marsh P.", 5), ("William R.", 6), ("Alexander S.", 7), ("Evan S.", 8), ("Archer U.", 9)]

amount = len(names)

Приведенный ниже код указывает количество людей в группе.

print(amount)

В приведенном ниже предложении указана фраза или часть name.

search_string = str(input("Please enter a letter or partial name."))

Предполагается, что ниже я должен найти кого-то, чье имя содержит строку search_string внутри кортежа и распечатать его, а также указать, сколько совпадений было найдено. от общего числа человек.

for search_string in names:
  if search_string in names:

Ответы [ 2 ]

0 голосов
/ 24 марта 2020
names = [("Rachel B.", 1), ("George D.", 2), ("Crainer K.", 3), ("Baxter M.", 
4), ("Marsh P.", 5), ("William R.", 6), ("Alexander S.", 7), ("Evan S.", 8), 
("Archer U.", 9)]

print("total number of name in the list is : " + str(len(names)))

search_string = input("enter the search_string: ")
name = [name[0] for name in names]
pos = [index[1] for index in names]

i=0

for x in name:
    if search_string in x:
        print(x)
        print(pos[i])
        print(names[i])
    i = i+1
0 голосов
/ 24 марта 2020

Вы можете попробовать это.

count = 0

for name in names:
  if search_string in name:
    print(name)
    count += 1

print(count)
...