Cześć ,
mam zadanie do wykonania:
Używając dziedziczenia, rozdziel podstawową klasę wizytówki na dwie osobne: pierwsza (BaseContact) powinna przechowywać podstawowe dane kontaktowe takie jak imię, nazwisko, telefon, adres e-mail. Za pomocą kolejnej klasy (BusinessContact) rozszerz klasę bazową o przechowywanie informacji związanych z pracą danej osoby – stanowisko, nazwa firmy, telefon służbowy.
Oba typy wizytówek, powinny oferować metodę contact(), która wyświetli na konsoli komunikat w postaci “Wybieram numer +48 123456789 i dzwonię do Jan Kowalski”. Wizytówka firmowa powinna wybierać służbowy numer telefonu, a wizytówka bazowa prywatny.
Oba typy wizytówek powinny mieć dynamiczny atrybut label_length, który zwraca długość imienia i nazwiska danej osoby.
Stwórz funkcję create_contacts, która będzie potrafiła komponować losowe wizytówki. Niech ta funkcja przyjmuje dwa parametry: rodzaj wizytówki oraz ilość. Wykorzystaj bibliotekę faker do generowania danych.
Mam ogólnie problem próbowałem to pisać , ale mam problem z napisaniem tego , czy mógłby ktoś mi to poprawić ? Bo męczę się z tym długi czas.
import email
from posixpath import supports_unicode_filenames
from typing_extensions import Self
from unicodedata import name
from faker import Faker
fake = Faker(['th_TH', 'pl_PL'])
card =""
xc =""
data_1=""
n = 0
n = int(input('wpisz'))
class BaseContact:
def __init__(self , name , telephone_number , email ):
self.name = name
self.telephone_number = telephone_number
self.email = email
def contact():
print(f'Wybieram numer +48 {lista_of_contacts[0]} i dzwonię do {lista_of_contacts[1]}')
print(f'Wybieram numer służbowy +48 {lista_of_contacts[2]} i dzwonię do {lista_of_contacts[0]}')
class BusinessContact(BaseContact):
def __init__(self , company_position , company_name , company_number , *args, **kwargs):
super().__init__(*args, **kwargs)
self.company_position = company_position
self.company_name = company_name
self.company_number = company_number
def fake_contact(BusinessContact):
company_position = fake.job()
company_name = fake.company()
email = fake.email()
name = fake.name()
company_number = fake.msisdn()[3:]
telephone_number = fake.msisdn()[3:]
lista_of_contacts = []
for i in range(n):
card = BusinessContact()
lista_of_contacts.append(name , telephone_number , company_number , company_position , email ,company_name)
return lista_of_contacts
xc.contact()
xc = BaseContact(name , telephone_number , email)
```
żeby coś było widać bo teraz wcięcia się totalnie rozjechały