首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Py干货 l 简易计算器

在学习一门编程语言的漫长时间里,怎么能少了计算器的例子呢!

当然计算器不是这种啊

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("你的计算符号系统无法识别")

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180520G14SQ500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券