1.主界面展示系统及功能选项,类似下面这个(并没什么美感,你们自己发挥吧。界面反对全程手敲,请尽量用字符串处理代码自动处理)
提示:import os
os.system("cls") 可以清屏(在命令行模式下)
2.模块化设计
要求每个独立功能都封装成函数:
显示主界面: ShowUI
显示城市信息: ShowCityInfo
添加城市信息: AddCityInfo
删除城市信息: DelCityInfo
修改城市信息: ModiCityInfo
TSP求解与演示:ShowTSP
程序主流程: main
显示城市信息界面如下:(不局限于这些城市,自行添加)
3.数据设计
定义一个字典或列表cityInfo,存放单个城市信息
每个城市信息包括:编号(cityID),城市(cityName),经度(cityLongitude),纬度(cityLatitude)
注:两个城市之间的距离取直线距离,由其经纬度计算得到。
为了将城市信息保存在磁盘上,不致在关闭程序时丢失数据。可以新建一个文件“城市信息表.csv”,并利用文件读写操作将城市信息保存在该文件里。
-
import pandas as pd
from tkinter import *
# 读取城市信息
cityInfo = pd.read_csv("城市信息表.csv")
# 定义函数:显示主界面
def ShowUI():
# 在此添加代码
# 定义函数:显示城市信息
def ShowCityInfo():
# 在此添加代码
# 定义函数:添加城市信息
def AddCityInfo():
# 在此添加代码
# 定义函数:删除城市信息
def DelCityInfo():
# 在此添加代码
# 定义函数:修改城市信息
def ModiCityInfo():
# 在此添加代码
# 定义函数:TSP求解与演示
def ShowTSP():
# 在此添加代码
# 主程序
def main():
# 在此添加代码
# 运行主程序
if __name__ == '__main__':
main()