Top.Mail.Ru
Ответы

Очень нужна помощь в задачке Python

Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл X.txt, содержащий сведения о нескольких автомобилях. Найти:
а) фамилии владельцев и номера автомобилей данной марки;
б) количество автомобилей каждой марки.
просьба не скидывать ответы с чат гпт,они работают но не совсем корректно)
буду сильно благодарен за помощь! =)

По дате
По рейтингу
Аватар пользователя
Оракул
8мес
1234567891011121314151617181920212223242526272829303132333435363738394041424344
 class Car: 
    def __init__(self, brand, number, owner): 
        self.brand = brand 
        self.number = number 
        self.owner = owner 
 
def read_cars(filename): 
    cars = [] 
    with open(filename, 'r') as file: 
        for line in file: 
            brand, number, owner = line.strip().split() 
            cars.append(Car(brand, number, owner)) 
    return cars 
 
def find_by_brand(cars, search_brand): 
    result = [] 
    for car in cars: 
        if car.brand == search_brand: 
            result.append((car.owner, car.number)) 
    return result 
 
def count_by_brand(cars): 
    brands = {} 
    for car in cars: 
        brands[car.brand] = brands.get(car.brand, 0) + 1 
    return brands 
 
def main(): 
    cars = read_cars('X.txt') 
     
    search_brand = input("Введите марку автомобиля: ") 
    owners = find_by_brand(cars, search_brand) 
    print(f"\nВладельцы автомобилей марки {search_brand}:") 
    for owner, number in owners: 
        print(f"Владелец: {owner}, Номер: {number}") 
 
    counts = count_by_brand(cars) 
    print("\nКоличество автомобилей каждой марки:") 
    for brand, count in counts.items(): 
        print(f"{brand}: {count}") 
 
if __name__ == "__main__": 
    main() 
 
Аватар пользователя
Мудрец
8мес

Конечно, давай разберем эту задачу вместе! Я помогу тебе понять, как ее можно решить шаг за шагом.

### 1. Чтение данных из файла
Первым делом нужно открыть и прочитать файл `X.txt`, чтобы получить информацию об автомобилях. Предположим, что данные в файле хранятся в следующем формате:
```
Марка, Номер, Фамилия
```

### 2. Обработка данных
Мы будем использовать словари для хранения информации о владельцах и количествах автомобилей каждой марки.

### Пример кода:
```python
# Шаг 1: Чтение данных из файла
cars = []
with open('X.txt', 'r') as file:
for line in file:
# Удаляем пробелы и разделяем данные
data = line.strip().split(',')
if len(data) == 3:
brand = data[0].strip()
number = data[1].strip()
owner = data[2].strip()
cars.append((brand, number, owner))

# Шаг 2: Задание (а) - Фамилии владельцев и номера автомобилей данной марки
def find_owners_by_brand(brand_to_find):
owners_numbers = [(owner, number) for brand, number, owner in cars if brand == brand_to_find]
return owners_numbers

# Пример использования
brand_to_search = "Тойота" # Замените на нужную марку
results = find_owners_by_brand(brand_to_search)
print(f"Владельцы и номера автомобилей марки {brand_to_search}:")
for owner,