首页 > 解决方案 > 用户创建指定类的对象

问题描述

Python 和编程的绝对初学者,我正在尝试创建一个程序,用户可以在其中添加会议并存储它们,有点像日历。

这样做时,我创建了一个类会议,有 4 个参数(名称、开始时间、结束时间、链接)

class Meeting:

    def __init__(self, name, start_time, end_time, link):
        self.name = name
        self.start_time = start_time
        self.end_time = end_time
        self.link = link

在 app.py 文件中,我输入了这个:

from Meeting import Meeting


def meetings_count(meeting_count1):
    meeting_count1 += 1
    return meeting_count1


def ask_meeting(meeting_count2):
    answer = input("Do you want to add a new meeting?: ")
    if answer == "yes":
        meeting_count2 = meetings_count(meeting_count2)
        print("Number of meetings: " + str(meeting_count2))
        name = input("\nName: ")
        start_time = input("Start time: ")
        end_time = input("End time: ")
        link = input("Link: ")
        add_meeting(name, start_time, end_time, link, meeting_count2)


def add_meeting(name1, start_time1, end_time1, link1, meeting_count3):

    # code that creates something like this but instead of the line bellow,

    Meeting1 = Meeting(name1, start_time1, end_time1, link1)

    # creates an object named "Meeting" + meeting_count3
    # if that is possible, then I can store different meetings(in the form of objects)

    print("\n" + Meeting1.name)
    print(Meeting1.start_time)
    print(Meeting1.end_time)
    print(Meeting1.link + "\n")
    print("Number of meetings: " + str(meeting_count3) + "\n")
    ask_meeting(meeting_count3)


meeting_count = 0
ask_meeting(meeting_count)

我已经在网上看到了“变量”和“字典用法”,但这只是让我感到困惑,因为这些项目具有更高的复杂性。

编辑:澄清一下,我确实知道列表和字典是什么。我的问题是,当我创建第一个会议时,它被识别为对象 Meeting1,但是当我尝试创建第二个会议时,它会覆盖第一个会议。我想做的是以它等于的方式创建类会议的对象:

 Meeting(meeting_count) = Meeting(name1, start_time1, end_time1, link1)

这样,创建的第一个会议将是对象 Meeting1,第二个会议将是对象 Meeting2,依此类推。

EDIT2:阅读您的答案后,我了解到可以使用列表而不是类来编码这样的程序。谢谢大家花时间和耐心来对付像我这样的傻瓜:D

谢谢!

标签: python

解决方案


如果您想存储您的会议,您可以创建一个空列表并在添加会议功能中将每个会议添加到其中。
空列表:meetings=[]
添加到列表:meetings.append(Meeting1)
更多关于列表的信息:https
://www.w3schools.com/python/python_lists.asp 您可以稍后按日期或根据需要对会议进行排序。此处排序示例:如何根据对象的属性对对象列表进行排序?


推荐阅读