博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用python实现简单的调度场算法
阅读量:6257 次
发布时间:2019-06-22

本文共 1139 字,大约阅读时间需要 3 分钟。

#!/usr/bin/env python3# -*- coding:utf-8 -*-from sys import argvfrom decimal import *def delBlank(str):    """    Delete all blanks in the str    """    ans = ""    for e in str:        #print(e)        if e != " ":            ans += e            #print(ans)    return  ansdef getPriority(c):    """    操作符中:"+、-优先级低,*、/、%优先级高" ,^待续    """    if (c=='+' or c=='-'):        return 0    elif(c == '*' or c == '/' or c == '%'):        return  1    elif (c=='^'):        return 2def infix2postfix(str):    """    把中缀表达式转化为后缀表达式:    1、当读到一个操作数时,立即将它放到输出中,读到的是操作符则需要接着判断是否入栈。读到的是左括号则入栈。    2、如果遇到一个右括号,那么就将栈中元素弹出并输出直到遇到左括号为止。但是这个左括号只被弹出,不被输出。    3、在读到操作符时,如果此操作符优先级小于或等于栈顶操作符,则将栈中元素弹出直至(1)遇到左括号(2)栈顶元素为更低优先级    (3)栈为空。操作数中'+','-'优先级最低,    4、如果读到输入的末尾,将栈元素弹出之道该栈变为空栈,将弹出的符号写到输出中。    """    postfix = []    stackOfOperator = []    index,pos,length = -1,0,len(str)    while(index < length-1):#python for index in range(length):不行,不馆循环内是否更改index,index都是会从1到length-1。        index +=1        char = str[index]        if(char in "0123456789"):#如果是数字,直接输出            pos = index            while(index 

转载于:https://www.cnblogs.com/zangkuo/p/6115218.html

你可能感兴趣的文章
[spring]03_装配Bean
查看>>
第116天: Ajax运用artTemplate实现菜谱
查看>>
Func和Action委托简单用法
查看>>
[20180322]查看统计信息的保存历史.txt
查看>>
Hbase1.4.0安装教程
查看>>
Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题
查看>>
Swift中的函数常见写法
查看>>
iOS开发实战 - 完美解决UIScrollView嵌套滑动手势冲突
查看>>
IO流学习总结(下)---序列化 反序列化
查看>>
万物互联 | 无感停车解决方案探析
查看>>
用VR学习灾难逃生技巧,地震来了不再慌
查看>>
朱啸虎:区块链是伪风口的可能性大,任何创新都要经历死亡谷
查看>>
SQLAlchemy 1.3.1 发布,Python ORM 框架
查看>>
美国科学家训练AI,用路上车辆判断人们的政治立场
查看>>
全球约39亿人未接入互联网 中国互联网用户数达7.21亿
查看>>
美国移动运营商AT&T服务故障,导致大范围用户无法寻求紧急救助服
查看>>
Spring中基于AOP的@AspectJ
查看>>
AI+时尚的盛宴,FashionAI全球挑战赛进入复赛阶段
查看>>
mybatis系统学习(二)——使用基础mybatis代替原始jdbc
查看>>
Linux 网络编程之原始套接字
查看>>