مشاركة حلول: عمل model للمنشورات posts

لا تقلق يا بسام…

تابع ما تقوم به، تعلم من الاكواد الموجودة، واسال حول كل صغيرة وكبيرة (ونحن بالمرصاد لجميع الاسئلة) :grin:

اذا قمت بكل ما ذكرته بالاعلى ستجد نفسك بعد سنة تطالع في اكوادك القديمة وتستغرب، لان وقتها ستصير اكوادك اكثر احترافية :wink:

لطالما احببت شغفك يا بسام :heart:

1 Like

انت تشتيني ابطل عمل وارجع افرغ نفسي 100% للبرمجه
لاكن صدقني انك بتتحمل صرفتي
حبيبي انت يا استاذ ياسر
لاكن حبيت اوضح شعوري في هذه النقطه
لانني كنت اشوف اكواد الاوائل واراجع الدرس نقطه نقطه عشان اشوف فين ذكرت انت بالدرس الاكواد اللي كتبوها وما احصلها
اقل يمكن فاتتني او شي
لأكتشف فيما بعد انها دروس مذكوره في دروس قادمه هههه

1 Like

:grin: :grin:

1 Like
class blog:
    def __init__(self, title, author, date, content, photo):
        self.title = title
        self.author = author
        self.date = date
        self.photo = photo
        self.content = content
2 Likes
class Post:
    def __init__(self, name, photo, content):
        self.name = name
        self.photo_url = photo
        self.content = content
    def toString(self):
        print("[Name:", self.name, ", Photo url:", self.photo_url, ",\nContent:", self.content, ", Type:", type(self), "]")


class App:
    posts = []
    def __init__(self, name, logo):
        self.name = name
        self.logo_url = logo
    def add_new_post(self, post):
        self.posts.append(post)
    def show_posts(self):
        for item in self.posts:
            item.toString()
            print("____________________________________________________")


# Post test
post1 = Post("Hassan Zekkouri", "http://bit.ly/34TIVNW", 
            "I am learning to become a Full Stack web developper with Coretabs Academy.")
# App test
blog = App("Facebook like", "logo")
blog.add_new_post(post1)
blog.add_new_post(post1)
blog.show_posts()


1 Like

مـهـمـة عـمـل Model لـلـمـنـشـورات …

class Posts:
    def __init__(self,name,photo,post):
        self.name=name
        self.photo=photo
        self.post=post
        
        
post1=Posts(name="Faten",photo="https://images.pexels.com/photos/556666/pexels-photo-556666.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",post="welcome")

post2=Posts(name="Ahmed",photo="https://images.pexels.com/photos/853168/pexels-photo-853168.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",post="Hi everyone")

print(post1.name)
print(post2.post)

1 Like

مائة مائة يا فاتن :ok_hand:

1 Like
class website:
    def __init__(self,title,img,name,leaflet,belete):
        self.title =title
        self.img = img
        self.name = name
        self.leaflet = leaflet
        self.belete = belete
    def delete (self):
        self.belete
        if self.belete =="del":
            del self.title
            del self.img
            del self.name
            del self.leaflet
        else :
            pass
websit =website("learn pytho","https://raw.githubusercontent.com/coretabs-academy/facebook-like-app/master/console-app/modelling-task/assets/homepage.jpg",
               "cortobes",100*"?","del" )
print(websit.title)
print(websit.img)
print(websit.name)
print(websit.leaflet)
print(websit.belete)
1 Like

عمل رائع يا محمد :+1:

بالنسبة للدالة delete فلا داعي لها كوننا سنقوم بعملها في مكان آخر في المهام المقبلة

1 Like

انشاءالله

1 Like
class POSTER:
    def __init__(self,name,photo,post):
        self.name=name
        self.photo=photo
        self.post=post
post1=POSTER("Safaa",'D:\\photo.png','hello world!')

مشاركتي في الحل

class Blog:
    posts  = []
    def __init__(self,logo,photo,name,date,bio):
        self.logo = logo
        self.name = name
        self.date = date
        self.photo = photo
        self.bio = bio

blog = Blog(logo="hello",photo="1.jpg",name="ammar",date="2020",bio="hello")
print(blog.name)
1 Like

الآن لاحظت حلك يا عمار… عمل ممتاز :ok_hand:

1 Like

class User:
    def __init__(self, name, photo):
        self.name = name
        self. photo = photo
        self.posts = []

    def delete(self):
        self.posts.pop()

    def newPost(self):
        cont = input('What do you have in mind')
        dat = input('What time?')
        pst = Post(dat, cont)
        addPost(pst)

    def addPost(self, post):
        self.posts.append(post)

    def show(self):
        for post in self.posts:
             print(f'{self.name}\t\t{post.date}\n\n{post.content}\n\n\n')

class Post:
    def __init__(self,
            date,
            content):

        self.date = date
        self.content = content

    def edit(self, newContent):
        self.content = newContent



users = []
logo = 'https://images.pexels.com/photos/430205/pexels-photo-430205.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500'

def newUser():
    name = input('What is your name?', end='...')
    photo = input('Link your photo', end='...')
    usr = User(name, photo)
    addUser(usr)

def addUser(user):
    users.append(user)


def showPosts():
    for user in users:
        user.show()

user1 = User('Yaser', 'https://images.pexels.com/photos/220453/pexels-photo-220453.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500')
user2 = User('Mohammed', 'https://images.pexels.com/photos/2455268/pexels-photo-2455268.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500')
user3 = User('sara', 'https://images.pexels.com/photos/4626345/pexels-photo-4626345.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500')

addUser(user1)
addUser(user2)
addUser(user3)

user1.addPost(Post('08/20/2020', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'))
user2.addPost(Post('08/21/2020', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'))
user3.addPost(Post('08/22/2020', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'))


showPosts()
user2.delete()
showPosts()

2 Likes
class Postes() :
    def __init__(self, icon , name , post ):
        self.icon = icon
        self.name= name
        self.post= post


post1=Postes(icon='your logo ',name='Rafa Gawad',post='this program its about postes in facebook')
print(post1.icon,'\n \t ',post1.name,'\n \t ',post1.post)
print('')
post2=Postes(icon='your logo ',name='sama ',post='this program its about postes in facebook')
print(post2.icon,'\n \t ',post2.name,'\n \t ',post2.post)

1 Like

جربت بطريقة اخرى لكن يظهر عندي اخطاء هنا :sweat:

class Postes() :
    def __init__(self, icon , name , post , Add , Edit , Delete):
        self.icon = icon
        self.name= name
        self.post= post
        self.Add= Add
        self.Edit= Edit
        self.Delete= Delete

    def addnewpost(self, Add):
        print(self.icon)
        print(self.name)
        Add.appand(self.post)

    def edityourpost(self,Edit):
        Edit.remove(self.post)
        newpost=input(self.post)
        print('write your new post after edit',newpost)

    def deletyourpost(self,Delete):
        Delete.clear()

obj=Postes()
obj.icon= (input(),'Yourphoto')
obj.name= (input(),'Yourname')
obj.post= (input(),'Yourpost')
print(obj.icon)
print(obj.name)
print(obj.post)




2 Likes

عمل ممتاز انس بس ملاحظة بسيطة على تسمية الدوال

في بايثون يفضل ان تسمي المتغيرات والدوال بهذه الطريقة

var = None
var_with_multi_words = None

func()
fucn_with_multi_words()
2 Likes

الخطأ يظهرلك بسب استدعائك للكلاس Posts() بدون اي برامترز

و شيء اخر لم افهم سبب وجود هذه المتغيرات :thinking:

self.post= post
self.Add= Add
self.Edit= Edit
self.Delete= Delete
1 Like

هاذ كنت جربت قبل ما اشوف الدروس التي تلت المهمة كنت اريد اني تقول الدالة edit بمحو الpost الموجود وادخال بدلة post من جديد ودالة الdelet تقوم بمحو الكل :sweat_smile:كنت خابصة المواضيع بس الان تمام افتهم لي :grin:

2 Likes

اهااا تمام :grin:

2 Likes