python实现四舍五入

链接:https://ac.nowcoder.com/acm/problem/20760
来源:牛客网
 

题目描述

依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。

输入描述:

学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。

输出描述:

学号,3科成绩,输出格式详见输出样例。

示例1

输入

17140216;80.845,90.55,100.00

输出

The each subject score of  No. 17140216 is 80.85, 90.55, 100.00.

本来以为利用python特性,结果被坑在了四舍五入上:

python中的四舍五入跟C中的四舍五入不同,比如在C中要是保留两位四舍五入就+0.05,但是

Python3中,round函数的取舍方式使用靠近最近和等距靠近偶数 ROUND_HALF_EVEN

2019.7.6更新:

详见原作者:https://blog.csdn.net/wangxichang/article/details/90606211 

个人最终处理方法:需要加个0.01

python3中的是4舍6入,如果为5,则根据取舍方式有所不同

a = str(input())
for ch in [';', ',']:
    a = a.replace(ch, ' ')
ls1 = a.split(" ")
print("The each subject score of  No. %s is %.2f, %.2f, %.2f."
      %(ls1[0], float(ls1[1])+0.001, float(ls1[2])+0.001, float(ls1[3])+0.001))

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值