Как бороться с несколькими (одинаковыми) случаями, возвращенными из цикла For? - PullRequest
0 голосов
/ 13 мая 2019

Итак, я пытаюсь найти решение для моей программы (адресной книги), когда цикл For возвращает несколько вхождений, например, фамилию.(Фамилия == 'коричневый').

Я создал этот цикл for, который будет возвращать все записи, найденные с (фамилия 'коричневый').Затем я хотел бы позволить пользователю решить, на какую запись он / она хочет изменить адрес.

Как вы можете видеть, есть несколько случаев появления коричневого.

Цикл результата:

OrderedDict([('lastname', 'brown'), ('name', 'emma'), ('street', 'hillstreets'), ('number', '6558'), ('city', 'houston')])
OrderedDict([('lastname', 'brown'), ('name', 'eric'), ('street', 'bluestreet'), ('number', '23'), ('city', 'capetown')])

Я могу напечатать оба имени, но затем я хочу позволить пользователю решить, на какой «коричневый» он / она хочет изменить адрес?Так, например, напечатать сообщение, например: «найдено несколько записей для фамилии« коричневый ».На какой «коричневый» вы хотите сменить адрес?

import sys
import csv
from collections import OrderedDict

filename = "adresses.csv"
adressbook = []

with open(filename) as f:
    csv_reader = csv.DictReader(f, delimiter=",")
    for row in csv_reader:
        adressbook.append(row)

    row_count = sum(1 for row in adressbook)
    n = row_count
    for row in adressbook[0:n]:
        value = 'brown'
        if row['lastname'] == value:
            print(row)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...