zoukankan      html  css  js  c++  java
  • 使用python命令行参数的例子

    # coding=utf-8
    from sys import*

    class Stack:
    def __init__(self):
    self.items=[];
    def top(self):
    return self.items[len(self.items)-1]
    def size(self):
    return len(self.items)
    def push(self,item):
    self.items.append(item)
    def pop(self):
    return self.items.pop();

    def Judgeoutput(arr):
    flag=0;
    sign='+-*/^()'
    number='0123456789'
    for i in range(len(arr)):
    if(sign.find(arr[i])==-1 and number.find(arr[i])==-1):
    print("输出:"+"INPUT ERROR ");flag=1;break;
    elif(sign.find(arr[i])!=-1 and sign.find(arr[i])<5):
    if(i==0 or i==len(arr)):
    print("输出:"+"FORMAT ERROR ");flag=1;break;
    elif(sign.find(arr[i-1])!=-1 or sign.find(arr[i+1])!=-1):
    print("输出:"+"FORMAT ERROR ");flag=1;break;

    if(flag==0):
    My_bracket=Stack()
    for i in range(len(arr)):
    if(arr[i]=='('):
    My_bracket.push(arr[i])
    elif(arr[i]==')'):
    if(My_bracket.top()=='('):
    My_bracket.pop();
    else:
    print("输出:"+"FORMAT ERROR ");flag=1;break;
    elif(i==len(arr)):
    if(My_bracket.size()>=1):
    print("输出:"+"FORMAT ERROR ");flag=1;break;

    if(flag==0):
    for i in range(len(arr)-1):
    if(arr[i]=='/' and arr[i+1]=='0'):
    print("输出:"+"VALUE ERROR ");flag=1;break;

    if(flag==0):
    for i in range(len(arr)):
    if(arr[i]=='^'):
    arr=arr.replace(arr[i],'**')

    result=str(eval(arr))
    if(len(result)-result.find('.')>10):
    result=str(round(eval(arr),10))
    print("输出:"+result+' ')

    if __name__=="__main__":
    #print(argv)
    expression='';
    for i in range(1,len(argv)):
    for j in range(len(argv[i])):
    if(argv[i][j]!=' '):
    expression+=argv[i][j]
    print()
    print("输入:"+str(expression)+' ')
    Judgeoutput(expression)

  • 相关阅读:
    Linux:Day7(上) find、文件特殊权限、if语句
    Linux:Day6(下) vim编辑器
    Linux:Day6(上) egrep、条件测试
    Linux:Day5 shell编程初步、grep
    Linux:Day4(下) 用户及组管理
    Linux中的cat、more、less、head、tail命令
    ajax中的contendType和dataType知识点梳理
    Django使用jsonp和cors解决跨域请求问题
    Django的Modelforms的介绍
    Django的Rbac介绍3
  • 原文地址:https://www.cnblogs.com/dengwang/p/8782991.html
Copyright © 2011-2022 走看看