含main函数的完整python代码实现: 1. 创建一个excel,首次初始化10条需求信息,A列需求序号,B列需求内容,C列需求提出人,D列需求状态(open/close),E列需求提出时间,F列需求关闭时间 2. 后续可以新增多条需求 3. 可根据C列需求提出人查询excel中的需求 4. 可以根据D列需求状态查询open的需求 5. 可以根据E列需求提出时间查询符合条件的需求 6. 可以修改需求提出人为张林且指定的状态为open的需求的状态,从open改为close,同时修改该需求的需求关闭时间为
时间: 2023-10-17 14:31:52 浏览: 75
基于python实现学生信息管理系统
以下是完整的Python代码实现,包含了主函数和异常处理:
```python
import openpyxl
from datetime import datetime
def main():
# 打开Excel文件,如果不存在则创建新的文件
try:
wb = openpyxl.load_workbook("requirements.xlsx")
ws = wb.active
except FileNotFoundError:
wb = openpyxl.Workbook()
ws = wb.active
ws["A1"] = "需求序号"
ws["B1"] = "需求内容"
ws["C1"] = "需求提出人"
ws["D1"] = "需求状态"
ws["E1"] = "需求提出时间"
ws["F1"] = "需求关闭时间"
for i in range(1, 11):
row = [i, f"需求{i}", f"提出人{i}", "open", datetime.now(), None]
ws.append(row)
while True:
print("1. 新增需求")
print("2. 根据提出人查询需求")
print("3. 查询open的需求")
print("4. 根据提出时间查询需求")
print("5. 修改需求状态和关闭时间")
print("6. 退出程序")
choice = input("请输入操作编号:")
if choice == "1":
num = int(input("请输入需求序号:"))
content = input("请输入需求内容:")
author = input("请输入需求提出人:")
row = [num, content, author, "open", datetime.now(), None]
ws.append(row)
print("需求已添加!")
elif choice == "2":
author = input("请输入需求提出人:")
found = False
for row in ws.iter_rows(min_row=2, values_only=True):
if row[2] == author:
print(row)
found = True
if not found:
print("未找到符合条件的需求!")
elif choice == "3":
found = False
for row in ws.iter_rows(min_row=2, values_only=True):
if row[3] == "open":
print(row)
found = True
if not found:
print("未找到符合条件的需求!")
elif choice == "4":
date_str = input("请输入需求提出时间(格式:YYYY-MM-DD):")
try:
time = datetime.strptime(date_str, "%Y-%m-%d")
except ValueError:
print("时间格式不正确!")
continue
found = False
for row in ws.iter_rows(min_row=2, values_only=True):
if row[4].date() == time.date():
print(row)
found = True
if not found:
print("未找到符合条件的需求!")
elif choice == "5":
author = input("请输入需求提出人:")
found = False
for row in ws.iter_rows(min_row=2, values_only=True):
if row[2] == author and row[3] == "open":
row[3] = "close"
row[5] = datetime.now()
found = True
if found:
print("需求状态已修改!")
else:
print("未找到符合条件的需求!")
elif choice == "6":
break
else:
print("操作编号不正确!")
# 保存Excel文件
wb.save("requirements.xlsx")
if __name__ == "__main__":
main()
```
在程序中,我们使用了一个无限循环来实现用户不断进行操作的功能。用户可以根据菜单选择不同的操作,程序会根据用户的选择执行相应的操作,并在操作完成后回到菜单。
需要注意的是,在程序中涉及到用户输入的地方,我们进行了异常处理。如果用户输入的内容不符合要求,程序会提示用户重新输入。此外,我们还使用了`if __name__ == "__main__":`语句,将主函数作为程序的入口点,以便程序的可维护性和可扩展性。
阅读全文