在学习一门编程语言的漫长时间里,怎么能少了计算器的例子呢!
当然计算器不是这种啊
emmmm……这种。。。
而是这个!
虽然不是什么牛的东西
在做这个计算器之前,我们先要学习字符串的split方法
split方法
split方法,就是把字符串按照特定的分隔符号,分拆成列表
str =input("")
list = str.split("!")
print(list[1])
像这个程序,就是把你输入的字符串按照感叹号分拆成列表,然后只打印列表的第二项
运行结果样例:
6!2
2
5!78qt!srs
78qt
好了,讲完的split方法,开始进入正题
正题
这个程序,除了split就几乎没有难度,初学者该代码如果有些不懂,评论区和园长QQ欢迎你
(讲一点:取余,取余是获得两数相除后的余数)
print("欢迎使用简易计算器")
user_input =input("请输入你要计算的等式
(格式:每个数、计算符号中须有空格 例:1 + 1)")
formula = user_input.split(" ") #转换成列表
ifformula[1] =="+": #判断符号,是否是加
answer =int(formula[]) +int(formula[2])#相加
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="-": #判断符号,是否是减
answer =int(formula[]) -int(formula[2])#相减
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="×"orformula[1] =="*":
#判断符号,是否是乘
answer =int(formula[]) *int(formula[2])#相乘
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="÷"orformula[1] =="/":
#判断符号,是否是除
answer =int(formula[]) /int(formula[2])#相除
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="%":#判断符号,是否是取余
answer =int(formula[]) %int(formula[2])#取余
print("你的算式", user_input,"答案是", answer)
else:#否则报错
print("你的计算符号系统无法识别")
优化
importmath ①
print("欢迎使用简易计算器")
user_input =input("请输入你要计算的等式
(格式:每个数、计算符号中须有空格 例:1 + 1)
(支持加、减、乘、除、取余、幂运算、阶层、三角函数运算)")
formula = user_input.split(" ")#转换成列表
iflen(formula) ==3:②#判断列表长度是否是4个项
ifformula[1] =="+":#判断符号,是否是加
answer =int(formula[]) +int(formula[2])#相加
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="-":#判断符号,是否是减
answer =int(formula[]) -int(formula[2])#相减
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="×"orformula[1] =="*":
#判断符号,是否是乘
answer =int(formula[]) *int(formula[2])#相乘
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="÷"orformula[1] =="/":
#判断符号,是否是除
answer =int(formula[]) /int(formula[2])#相除
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="%":#判断符号,是否是取余
answer =int(formula[]) %int(formula[2])#取余
print("你的算式", user_input,"答案是", answer)
elifformula[1] =="^"or"**":③#判断符号,是否是幂
answer =int(formula[]) **int(formula[2])
#做幂运算
print("你的算式", user_input,"答案是", answer)
else:#否则报错
print("你的计算符号系统无法识别")
eliflen(formula) ==2:#判断列表长度是否是2个项
ifformula[1] =="!":#判断符号,是否是阶层
foriinrange(1,1,formula[]):#做阶层运算
answer = answer * i
print("你的算式", user_input,"答案是", answer)④
elifformula[] =="sin":⑤#判断符号,是否是三角函数
answer = math.sin(int(formula[1])
)#做三角函数运算
print("你的算式", user_input,"答案是", answer)
else:# 否则报错
print("你的计算符号系统无法识别")
else:#否则报错
print("你的计算符号系统无法识别")
(不要复制,这个是有注释的)
注释:
① math库是python自带的一个库,可以进行正弦函数、三角函数等运算
② 判断列表长度是因为之后会有三角函数运算和阶层运算
③ 幂运算,python自带的一个运算
④ 阶层运算,我们通过for循环来实现(阶层就是x乘从1直到x的所有数字,例:5!=1×2×3×4×5=120)
⑤ 三角函数运算,直接调用math库里的三角函数(三角函数详见https://baike.baidu.com/item/%E4%B8%89%E8%A7%92%E5%87%BD%E6%95%B0/1652457)
复制区
importmath
print("欢迎使用简易计算器")
user_input =input("请输入你要计算的等式(格式:每个数、计算符号中须有空格 例:1 + 1)(支持加、减、乘、除、取余、幂运算、阶层、三角函数运算)")
formula = user_input.split(" ")#转换成列表
iflen(formula) ==3:#判断列表长度是否是4个项
ifformula[1] =="+":#判断符号,是否是加
answer =int(formula[]) +int(formula[2])#相加
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="-":#判断符号,是否是减
answer =int(formula[]) -int(formula[2])#相减
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="×"orformula[1] =="*":#判断符号,是否是乘
answer =int(formula[]) *int(formula[2])#相乘
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="÷"orformula[1] =="/":#判断符号,是否是除
answer =int(formula[]) /int(formula[2])#相除
print("你的算式",user_input,"答案是",answer)
elifformula[1] =="%":#判断符号,是否是取余
answer =int(formula[]) %int(formula[2])#取余
print("你的算式", user_input,"答案是", answer)
elifformula[1] =="^"or"**":#判断符号,是否是幂
answer =int(formula[]) **int(formula[2])#做幂运算
print("你的算式", user_input,"答案是", answer)
else:#否则报错
print("你的计算符号系统无法识别")
eliflen(formula) ==2:#判断列表长度是否是2个项
ifformula[1] =="!":#判断符号,是否是阶层
foriinrange(1,1,formula[]):#做阶层运算
answer = answer * i
print("你的算式", user_input,"答案是", answer)
elifformula[] =="sin":#判断符号,是否是三角函数
answer = math.sin(int(formula[1]))#做三角函数运算
print("你的算式", user_input,"答案是", answer)
else:# 否则报错
print("你的计算符号系统无法识别")
else:#否则报错
print("你的计算符号系统无法识别")
领取专属 10元无门槛券
私享最新 技术干货