python简易计算器---编写一个能计算两个数字加减乘除的小程序

任务描述
相关知识
input 函数的使用
Python 的条件语句
编程要求
测试说明
任务描述
本关任务:编写一个能计算两个数字加减乘除的小程序。

相关知识
为了完成本关任务,你需要掌握:

input 函数的使用;
Python 的条件语句。
input 函数的使用
Python 2 中的输入函数有input和raw_input,而 Python 3 中的输入函数只有input,这里只讲后者。每次使用input函数,默认从缓冲区读取一行内容,并以字符串形式返回内容,而且给函数传的参数可作为输出内容,输出在缓冲区。

示例程序:

#读取一行内容
s1 = input("请输入:")

示例输入:
hello python

缓冲区的显示内容为请输入:hello python。

而我们要对输入内容进行表达式运算,往往的操作就是将操作数和运算符分别提取出来,然后用栈的思想进行运算。这里只考虑最简单的情况——只有两个操作数和一个运算符,那么我们只需要将数字字符,通过int将其强制类型转换成数字,然后通过进制特点还原成原来的数字,再判断运算符类型,进而完成对应的运算。

上述过程可能会是其他高级编程语言的通常做法,但在 Python 中有一个eval函数,能够直接根据参数内容求出一些简单表达式字符串的值。

示例程序:

print(eval(“9+5-2*10”))
示例输出:
-6

Python 的条件语句
Python 的条件语句由关键字if、elif或else引出,其中if和elif后面可以接着写条件内容,else后面不能写条件内容。使用elif关键字,必须保证之前已经使用了if关键字,表示不满足该语句之前所有所写的条件,且满足本次所写的条件。如果使用else关键字,那么必须保证之前已经使用了if或elif关键字,且后面没有其他的条件语句,表示不满足该语句之前所有所写的条件。具体使用,请参照下面成绩判断程序。

示例程序:

def judge(x):
if x < 0 or x > 100:
print(f"{x} 不是一个合法的分数")
elif x < 60:
print(f"不及格!")
elif x < 90:
print(f"及格!")
else:
print(f"很优秀!")
judge(-2)
judge(20)
judge(66)
judge(99)
示例输出:
-2 不是一个合法的分数
不及格!
及格!
很优秀!

编程要求
根据提示,在右侧编辑器Begin-End区间补充代码,实现计算并返回简单表达式的值。返回结果请保留2位小数。

本关涉及的代码文件src/step3/easy_cal_stu.py,请读者仔细阅读并完成空缺代码的填写。

测试说明
本关的测试文件是src/step3/main.py。

读者将src/step3/easy_cal_stu.py中的代码补充完毕,然后点击评测,平台自动编译运行src/step3/main.py,并以标准输入方式提供测评输入;
平台获取程序的输出,然后将其与预期输出对比,如果一致则测试通过;否则测试失败。
平台会对你编写的代码进行测试:

每次测试输入3行:

第一行输入一个字符op,表示要进行的运算,保证表达式进行的运算只有加减乘除,即该字符只可能是+ - * /中的一个;
第二行输入一个数字,表示第一个操作数num_1;
第三行输入一个数字,表示第二个操作数num_2。
测试输入:
*
5
6

预期输出:
30.00

开始你的任务吧,祝你成功!
参考代码:

class Solution:
	def solve(self, op, num_1, num_2):
		'''
		:type op, num_1, num_2: str, int, int
		:rtype : Str
		'''
		#请在此添加代码,实现计算并返回表达式的结果,要求结果保留2位小数
		#********** Begin *********#
        ops=['+','-','*','/']
        if op in ops:
            s=eval('%d %s %d'%(num_1,op,num_2))
            return ("%.2f"%s)
		#********** End *********#
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别是个逗比吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值