Я новичок в Python и сейчас ищу стажировку или работу. В настоящее время я работаю над программой на Python, которая читает файл, содержащий данные в этой форме:
Id;name;surname;age;gender;friends;
Id и возраст — целые положительные числа,
пол может быть "мужской" или "женский",
а friends — это массив чисел, разделенных запятой, которые представляют собой идентификаторы людей, которые дружат с текущим человеком. Если Person1 является другом Person2, это должно работать наоборот.
Как вы можете видеть в приведенном выше примере, атрибуты «Человека» разделены точкой с запятой, и фишка в том, что не у каждого человека есть каждый атрибут, и, конечно же, они различаются по количеству друзей. Итак, первая часть задачи состоит в том, чтобы написать программу, которая читает файл и создает структуру, представляющую собой список лиц с указанными выше атрибутами. Я должен сделать поиск этих лиц по идентификатору.
Вторая часть — создать функцию с двумя аргументами (Id1, Id2), которая возвращает True, если человек с Id2 является другом человека с Id1. В противном случае возвращается ложь.
У меня есть некоторые идеи, но я не уверен, как это реализовать, так как я еще недостаточно знаю Python. Я предполагаю, что лучшей структурой для этого был бы словарь, но я не уверен, как загрузить в него файл, так как атрибуты всех людей различны. Я был бы признателен за любую помощь, которую вы можете мне предложить. Вот моя попытка написать код:
people = open(r"data.txt")
class People:
id = None
name = ''
surname = ''
age = None
gender = ['male', 'female']
friends = []
#def people(self):
# person = {'id': None,
# 'name': '',
# 'surname': '',
# 'age': None,
# 'gender': ['male', 'female'],
# 'friends': []
# }
# return person
def community(self):
comm = [People()]
return comm
def is_friend(id1, id2):
if (id1 in People.friends) & (id2 in People.friends):
return True
people.close()