鱼C论坛

 找回密码
 立即注册
查看: 1742|回复: 2

[经验总结] 利用int 四舍五入

[复制链接]
发表于 2018-12-14 15:20:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
while(1):
    temp = input("输入一个数字")
    num = float(temp)
    if(num >= 0):
        if num - int(num) >= 0.5:
            num = int(num) + 1
            print(num)
        else:
            print(int(num))
    else:
        if(num - int(num) >= -0.5):
            num = int(num) + 1
            print(num)
        else:
            print(int(num))
思路:
1、正数,小数部分大于等于0.5 进1,否则就等于整数部分
2、负数,小数部分(注意,-1.5 的小数部分应是 -0.5)大于等于-0.5,进1,否则就等于整数部分。

其实一个简单的int(a+0.5)就能解决的问题,我为什么会写这么多代码,原因有2个:
1、小甲鱼给的这个答案很机智,我对自己没有想出来感觉愧疚,想证明自己也能用另外一个方式解出来(我自己想了想,这并不是另一种方式,只是代码形式不一样)
2、任何东西都需要积累,多写代码锻炼自己。代码实现应该也是,尝试多种思路,真正的使用时,可以综合考量各方面因素选择某一种。有些情况时没有绝对最优解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-12-14 15:37:57 | 显示全部楼层
不好意思,还是不对……我再想想
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-14 16:45:11 | 显示全部楼层
while(1):
    temp = input("输入一个数字")
    num = float(temp)
    if num >= 0:
        if num - int(num) >= 0.5:
            
            print('小甲鱼的答案',end ='')
            print(int(num + 0.5))
            num = int(num) + 1
            print('我的答案',end ='')
            print(num)

        else:
            print('小甲鱼的答案',end ='')
            print(int(num + 0.5))
            print('我的答案',end ='')
            print(int(num))

    else:
        if int(num) - num > 0.5:
            
            print('小甲鱼的答案',end ='')
            print(int(num + 0.5))
            print('我的答案',end ='')
            num = int(num) - 1
            print(num)

        else:
            print('小甲鱼的答案',end ='')
            print(int(num + 0.5))
            print('我的答案',end ='')
            print(int(num))
这样应该对了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 08:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表