清华大学 分数计算器

编写一个python程序(假设python文件名为exam01.py),程序接收一个参数,该参数为一个文件名。使用命令python exam01.py test.txt执行命令。该程序需满足以下要求:
(1)如果该文件不存在,则输出错误信息并结束程序。(5分)
(2)如果文件存在,该文件包括若干行文本,其中每一行是一个数学算式,算式中只包括正整数以及四则运算符号(±/),程序计算该行算式,以最简分数形式输出结果,输出到命令行,每行一个。根据支持的算式格式评分。具体要求如下:
(2.1)支持格式如“a+b”或“a-b”的数学算式计算,其中a和b的格式分别为一个正整数或者一个分数(即以“/”分隔的两个正整数)。例如:“3/5+1/2”、“12/7-3/15”、“123+23/6”。(10分)
(2.2)支持格式如“a±b±c±……±g”的数学算式计算,其中a,b,…,g的格式也为一个正整数或者一个分数。例如:“1+2/5-3/12+123/456+76+12/34”.(10分)
(2.3)【加分项】支持任意合法格式的数学算式计算(只包括正整数和四则运算,不含括号)。例如:“1
2/3+4-5/6+7*8-9/10”。(10分)(建议:没有把握的同学建议先做后面的题目。)
(3)该程序也可以接收两个参数,第一个参数作用不变,第二个参数传入另外一个文件名:如果传入一个参数,则程序结果输出到命令行;如果传入两个参数,则程序结果输出到第二个参数的文件中。(5分)

【注意问题】
(a)只能使用Python自带的标准库,不允许使用第三方库。
(b)最后结果输出为最简分数形式(分子分母不可约分,假分数不要化为带分数)。如果结果可以化简为整数,则直接输出为整数。
(c)不需要考虑输入文件格式不合法的情况。
(d)只编写一个.py文件解决上述所有要求。

<
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值