Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Васинкевич Руслан Ученик (103), на голосовании 16 часов назад
Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл X.txt, содержащий сведения о нескольких автомобилях. Найти:
а) фамилии владельцев и номера автомобилей данной марки;
б) количество автомобилей каждой марки.
просьба не скидывать ответы с чат гпт,они работают но не совсем корректно)
буду сильно благодарен за помощь! =)
Голосование за лучший ответ
Fghh Мудрец (10588) 1 месяц назад
Конечно, давай разберем эту задачу вместе! Я помогу тебе понять, как ее можно решить шаг за шагом.

### 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,
Sergio 2.1 Оракул (67645) 1 месяц назад
 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()
Похожие вопросы