770686119 发表于 2018-12-14 15:20:56

利用int 四舍五入

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、任何东西都需要积累,多写代码锻炼自己。代码实现应该也是,尝试多种思路,真正的使用时,可以综合考量各方面因素选择某一种。有些情况时没有绝对最优解的

770686119 发表于 2018-12-14 15:37:57

不好意思,还是不对……我再想想{:10_266:}

770686119 发表于 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))
这样应该对了
页: [1]
查看完整版本: 利用int 四舍五入