我是靠谱客的博主 怡然钥匙,最近开发中收集的这篇文章主要介绍线控数解法表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编程实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部