Python: 1036 跟奥巴马一起编程_测试点2问题

在Python中,使用round()函数进行四舍五入可能会遇到不预期的结果。文章指出,round()并不符合常规的数学四舍五入规则,推荐使用int(x + 0.5)作为更简便且符合直觉的四舍五入方法。
摘要由CSDN通过智能技术生成

测试点2出现在四舍五入有问题;

使用round()会出现一些问题,因为它并不是我们通常数学上的四舍五入,而是类似于物理实验中的四舍五入;

所以,对于python而言,四舍五入就用下面的方法即可解决。

# 假定你需要对num四舍五入,那么应该是下方这个样子
int(num + 0.5)
num, char = input().split()  # 获取输入数据
num = int(num)  # 将str型num转化为int型,方便后续计算
line = int(num / 2 + 0.5)  # 行是列的一半,而且需要四舍五入
column = num  # 列
for i in range(line):  # 输出正方形
    if i != 0 and i != line - 1:
        print(char + ' ' * (column - 2) + char)
    else:
        print(char * column)

有关更详细的四舍五入可以看我的博客,不过我觉得没必要,四舍五入int( + 0.5)是我觉得用的最顺手的了,其它或多或少不是复杂,就是他不是我们传统意义上的四舍五入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

炒茄子

不装逼我浑身难受aaa

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

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

打赏作者

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

抵扣说明:

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

余额充值