我是靠谱客的博主 怡然钥匙,这篇文章主要介绍线控数解法表python编程实现,现在分享给大家,希望可以做个参考。

线控数解法很难算,而且在点多的时候极其复杂。

下面对线控给出我的编程方案,供大家使用。

如果是周二答辩的(懂得都懂)请注明代码出处。

对应《道路交通管理与控制》(袁振洲主编)225页例题,验证代码的正确性。

代码跑的结果如下:附上书原图

 

代码如下:

#-*-coding:GBK -*-
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
from openpyxl.styles import
PatternFill
import math
import numpy as np
wb=load_workbook('E:\time1.xlsx')
wb.sheetnames
ws=wb['Sheet1']
ideal=44
#计算
def solve(i,j,k):
a=ws.cell(i,1).value
b=0
for h in range(j,k):
if h==2:
b=ws.cell(1,h).value-a
while (b>=a):
b=b-a
if b>=0:
ws.cell(i,h).value=b
else:
ws.cell(i,h).value=ws.cell(1,h).value
else:
b=ws.cell(i,h-1).value+ws.cell(1,h).value-a
if b>=0:
while(b>=a):
b=b-a
ws.cell(i,h).value=b
else:
ws.cell(i,h).value=b+a
r_start=2
r_end=33
l_start=2
l_end=8
for r in range(r_start,r_end):
solve(r,l_start,l_end)
fin=[]
for r in range(r_start,r_end):
c=[0]
for s in range(l_start-1,l_end):
m=ws.cell(r,s).value
c.append(m)
c=sorted(c)
maxmum=0
for q in range(1,len(c)):
m=c[q]-c[q-1]
if m>maxmum:
maxmum=m
fin.append(maxmum)
ws.cell(r,l_end).value=maxmum
print(max(fin))
for r in range(r_start,r_end):
if ws.cell(r,l_end).value==max(fin):
ws.cell(r,l_end).fill=
PatternFill("solid", fgColor="00FF00")
wb.save('E:\time1.xlsx')

仅供参考!

最后

以上就是怡然钥匙最近收集整理的关于线控数解法表python编程实现的全部内容,更多相关线控数解法表python编程实现内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部