用python做计算器(低级版)
今天突然找不到电脑上的计算器了,就自己做了一个计算器的程序。
首先,我们先定义一个input的函数
num1 = input ("Enter the first number: ")
定义这个函数主要是一个接受数据的目的,input()函数括号里面可以不加任何东西,也可以用 “ ” 来包括一个string,达到问话的效果。有一点需要注意,就是input()函数输入的量是一个string类型的,所以左边的num1是一个string类型的变量。
其次,我们再定义一个函数,确定输入的运算符号
opeSym = input ("Enter your operation: ")
这段的意义和功能于上一个并没有很大的区别,因为string类型是可以包括所有中英文字符和特殊符号的(要是想用别的语言,需要特殊的方法)。
然后,重复第一步,再定义一个变量,这样才能计算
num2 = input ("Enter the second number: ")
要注意的是变量的名字不能跟第一个变量或者运算符的变量名字一样,不然会造成程序的错乱,导致输入的三个数最后只剩一个数了。
最后,使用if和==,来计算总量
if (opeSym == "+"):
total = float(num1) + float(num2)
if (opeSym == "-"):
total = float(num1) - float(num2)
if (opeSym == "*"):
total = float(num1) * float(num2)
if (opeSym == "/"):
total = float(num1) / float(num2)
if (opeSym == "**"):
total = float(num1) ** float(num2)
if (opeSym == "//"):
total = float(num1) // float(num2)
因为input()带进来的是string类型变量,所以==右边的也得是string类型的。注意:在python里面,**代表乘方,//代表整除法,比如15//2就会等于7,向下面取最近的整数。
把程序合起来
import time
while(1):
total = 0.0
num1 = input ("Enter the first number: ")
time.sleep(1)
opeSym = input ("Enter your operation: ")
time.sleep(1)
num2 = input ("Enter the second number: ")
time.sleep(1)
if (opeSym == "+"):
total = float(num1) + float(num2)
if (opeSym == "-"):
total = float(num1) - float(num2)
if (opeSym == "*"):
total = float(num1) * float(num2)
if (opeSym == "/"):
total = float(num1) / float(num2)
if (opeSym == "**"):
total = float(num1) ** float(num2)
if (opeSym == "//"):
total = float(num1) // float(num2)
print(total)
time.sleep(2)
time库可以不用加入,如果想看着更厉害点,可以加上。while的作用主要是保持程序无限运行,最后要有一个print()去输出。建议将数据类型转化一下,不然除法可能出问题(要是用int)