例子:1+2〈三个部分.两个常量,一个运算符,分别把他们分成三个量,不如:1=a,+=b,2=c〉
a=input(‘第一个数’)
b=input('第二个运算符’)
c=input(‘第三个数’)
一次性取值:a=(‘你想要计算的公式’)
通过单次取值,可以减少用户输入的复杂度,但是增加了编程的困难度,因为我们需要将单次的取值进行解析,区分开数字型数值和字符型运算符。
在这里我们为了再一次降低难度,我们将计算器的编程要求变为:
计算器
命令行计算器
命令行四则运算计算器
分段取两个值的命令行四则运算计算器
上面一直没有提到的一点,input()函数获取的任何数据,赋值时都是字符串类型的数据,也就是说无论用户在命令行输入的是什么,赋值后我们的取到的都是字符串,那么这里我们就需要将相应的数据进行转换,而运算符的对应就需要进行各自逻辑判断,在这里就需要处理以下两问题:
根据给定的数字或字符串x,返回一个浮点数,如果是一个参数字符串,包含一个十进制数,可选填前置符号和嵌入空格,可选的符合可以是‘+’ 或‘-’,加号对值吴影响,参数可以是NaN(非数字)形式的字符号,或正负无穷,当移除前后空白符号后,输入必须符合一下语法:
╔ ╗
1. 符合 ∷= “+” │ “-”
2.无穷大 ∷=“Infinity” │
3.非数字 ∷=floatnumber
4.数字字符串 ∷=[sigh]nubrr
╚ ╝
floatnumber是Python浮点字面形式,详情见浮点字面 : 无符号前提下,例如“inf”、 “Inf”、“INFINITY”和“iNfINity”是可以接受的正无穷大的拼写方式。 否则,如果参数是整数或浮点数,将返回等值的浮点数(Python的浮点精度内)。如果参数超出Python浮点范围,将会引发OverflowError。