Python编写的留言板程序
发布时间:2023-12-04 10:34:43
以下是一个使用Python编写的留言板程序的例子:
import sqlite3
def create_table():
conn = sqlite3.connect('messages.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS messages
(id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
message TEXT NOT NULL);''')
conn.commit()
conn.close()
def add_message(username, message):
conn = sqlite3.connect('messages.db')
c = conn.cursor()
c.execute("INSERT INTO messages (username, message) VALUES (?, ?)", (username, message))
conn.commit()
conn.close()
def get_messages():
conn = sqlite3.connect('messages.db')
c = conn.cursor()
c.execute("SELECT * FROM messages")
messages = c.fetchall()
conn.close()
return messages
def main():
create_table()
while True:
print("1. 添加留言")
print("2. 查看留言")
print("3. 退出")
choice = input("请输入选项:")
if choice == '1':
username = input("请输入用户名:")
message = input("请输入留言内容:")
add_message(username, message)
print("留言添加成功!")
elif choice == '2':
messages = get_messages()
if len(messages) == 0:
print("留言板为空")
else:
print("留言内容如下:")
for message in messages:
print(f"用户名:{message[1]},留言内容:{message[2]}")
elif choice == '3':
break
else:
print("无效选项,请重新输入!")
if __name__ == '__main__':
main()
这个留言板程序使用SQLite数据库来存储留言信息。程序的流程如下:
1. 首先定义了一个create_table函数,用于创建一个名为messages的数据表,该表包含三个列:id(自增主键)、username(用户名)和message(留言内容)。
2. add_message函数用于向数据表中插入一条留言记录,传入用户名和留言内容作为参数。
3. get_messages函数用于从数据表中获取所有的留言记录,并返回一个包含所有留言的列表。
4. main函数是程序的主要逻辑。程序会在一个无限循环中显示菜单选项,让用户选择添加留言、查看留言或退出程序。
- 如果用户选择添加留言,则会提示用户输入用户名和留言内容,并调用add_message函数将留言添加到数据表中。
- 如果用户选择查看留言,则会调用get_messages函数获取留言列表,并逐条打印出来。
- 如果用户选择退出,则跳出循环,程序结束。
使用这个留言板程序的例子(假设保存为message_board.py):
$ python message_board.py 1. 添加留言 2. 查看留言 3. 退出 请输入选项:1 请输入用户名:Alice 请输入留言内容:Hello, world! 留言添加成功! 1. 添加留言 2. 查看留言 3. 退出 请输入选项:2 留言内容如下: 用户名:Alice,留言内容:Hello, world! 1. 添加留言 2. 查看留言 3. 退出 请输入选项:3
