首页 > 其他分享 >算式运算的合法性

算式运算的合法性

时间:2024-06-02 19:29:37浏览次数:13  
标签:合法性 return 运算 算式 合法 valid expression

给定一个算式运算,算式由运算数、+、-、、/、(、)组成,请编写程序判断该算式运算是否合法。如果合法,计算该算式的值。

输入描述:

第一行输入一个运算表达式

输出描述:

如果表达式合法则计算其值,结果保留两位小数,如果不合法则输出 表达式不合法!

输入样例: (5+3)*9

输出样例: 72.00

import re

def is_valid_expression(expression):
    valid_pattern = re.compile(r'^[\d+\-*/().\s]+$')
    if not valid_pattern.match(expression):
        return False
    try:
        eval(expression)
    except:
        return False
    
    return True

def calculate_expression(expression):
    result = eval(expression)
    return f"{result:.2f}"

def main():
    expression = input().strip()
    if is_valid_expression(expression):
        print(calculate_expression(expression))
    else:
        print("表达式不合法!")

main()

标签:合法性,return,运算,算式,合法,valid,expression
From: https://blog.csdn.net/m0_62222486/article/details/139379085

相关文章

  • MYSQL运算符及函数[图文]
    MYSQL运算符运算结果为真返回true,结果为假返回false算数运算符使用select进行数值的计算比较运算符(=):比较两边数值或字符串,相等返回true,反之为false(!=,<>):比较两边数值或字符串,不相等返回true,相等返回false(>,>=)比较运算符两边数值,大于(大于等于)返回true,条......
  • numpy简洁教程(一篇就够) - 属性/生成/读写/运算/形状修改
    目录1、numpy属性2、数组生成     (1)1、2、3维数组,字符串数组直接生成     (2)生成数组时指定数据类型     (3)生成0、1数组     (4)从现有数据生成数组     (5)生成固定范围数组linspace、arange、logspace     (6)生成随机数......
  • Python 运算符
    相关学习资料什么是运算符?本章节主要说明Python的运算符。举个简单的例子 4+5=9 。例子中,4 和 5 被称为操作数,+ 称为运算符。Python语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级接下来让......
  • 【算法】位运算——常见位运算基础操作总结
    位运算基础操作总结,包括基础运算符+修改某位bit位目录1.基础位运算符2.按位基础操作1.给一个数n,确定其二进制的第x位是0/12.将一个数n的二进制标识的第x位修改成13.将一个数n的二进制标识的第x位修改成04.提取一个数n二进制中最右侧的1(除了最右......
  • JavaScript语法(四):新加入的**运算符,哪里有些不一样呢?
    上一节我们已经给你介绍了表达式的一些结构,其中关于赋值表达式,我们讲完了它的左边部分,而留下了它右边部分,那么,我们这节课一起来详细讲解。在一些通用的计算机语言设计理论中,能够出现在赋值表达式右边的叫做:右值表达式(RightHandSideExpression),而在JavaScript标准中,规定了在等......
  • JAVA基础_基本运算
    算数运算符操作符说明举例+加法:相加运算符两侧的值inta=10,b=20;(a+b等于30)-减法:左操作数减去右操作数inta=10,b=20;(a-b等于-10)*乘法:相乘操作符两侧的值inta=10,b=20;(a*b等于200)/除法:左操作数除以右操作数inta=10,b=20;(b/a等于2)%取余:左操作数除以右操作数的余数inta=10,......
  • OOP一元多项式类(运算符重载)
    题目描述一元多项式按照升幂表示为:Pn(x)=p0+p1x+p2x2+…+pnxn。(n>=0)构建一元多项式类保存多项式中每项的系数和指数。并重载输入输出运算符,完成多项式的输入以及输出;重载加法,减法,乘法运算符,完成多项式的运算。输入测试数据数对于每组测试数据第一行,第一个多项......
  • flutter - [03] 运算符&条件表达式
    题记部分 一、算术运算符运算符说明示例(a=13,b=5)+加print(a+b);-减print(a-b);*乘print(a*b);/除print(a/b);~/取整print(a~/b);%取余print(a%b);   二、关系运算符  三、逻辑运算符  四、赋值运算符 五、条件......
  • 【Java】运算符
    1、简介在Java中,运算符是用于执行特定操作的符号。它们可以用于各种数据类型,并执行如算术运算、比较、逻辑运算、位运算以及赋值等操作。2、算术运算符2.1内容算术运算符用于执行常见的数学运算。+:加法-:减法*:乘法/:除法%:取余(模运算)++:自增(前置和后置)--:自减(前置和后置) 2.2......
  • 实现双链表各种基本运算的算法
    实验三:实现双链表各种基本运算的算法一、实验目的与要求目的:领会双链表存储结构和掌握双链表中各种基本运算算法设计。内容:编写一个程序dlinklist.cpp,实现双链表的各种基本运算和整体建表算法(假设链表的元素类型ElemType为char),并在此基础上设计一个程序exp2-3.cPp,......