URSplendid 发表于 2020-4-24 11:03:02

【python】萌新求助,int()BIT怎么变成四舍五入

number = input()
number = float(number)
if (number - int(number))>=0.5:
    number = int(number) + 1
    print(number)
else:
    number = int(number)
    print(number)
int = number

大佬们,这是我写的程序。做的是第五课第三题【3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?】

我已经知道小甲鱼的答案了,想问问我这种有啥问题?我想把int()定义成一个四舍五入的函数,但是经过这个程序以后int()函数用不了了。。。想问问怎么才能自己这么改一个函数的功能?

永恒的蓝色梦想 发表于 2020-4-24 11:04:14

本帖最后由 永恒的蓝色梦想 于 2020-4-24 11:06 编辑

lambda x:int(x) if x%1<0.5 else int(x+1)

URSplendid 发表于 2020-4-24 11:05:00

不知道我表达的大家看懂了没有{:10_266:}{:10_266:}{:10_266:}
就是本来int()函数是舍去小数,然后我想通过这个小程序段把int()变成四舍五入的。。。但我不会编

老八秘制 发表于 2020-4-24 11:05:04

那你就换个名字,比如rounding_int()或者Nint()等等

qiuyouzhi 发表于 2020-4-24 11:05:52

URSplendid 发表于 2020-4-24 11:05
不知道我表达的大家看懂了没有
就是本来int()函数是舍去小数,然后我想 ...

为啥最后要写一个int = number呢?

老八秘制 发表于 2020-4-24 11:06:11

URSplendid 发表于 2020-4-24 11:05
不知道我表达的大家看懂了没有
就是本来int()函数是舍去小数,然后我想 ...

你是想把它变成一个函数?如果你定义的函数和python自带的一样,可能会出现奇怪的bug,以后学到魔法方法你就知道怎么解决了

永恒的蓝色梦想 发表于 2020-4-24 11:07:52

老八秘制 发表于 2020-4-24 11:06
你是想把它变成一个函数?如果你定义的函数和python自带的一样,可能会出现奇怪的bug,以后学到魔法方法 ...

只要写的完整就不会有bug

qiuyouzhi 发表于 2020-4-24 11:08:23

def Int(x):
    k = int(x)
    temp = x - k
    if temp >= 0.5:
      return k + 1
    return k

URSplendid 发表于 2020-4-24 11:12:52

老八秘制 发表于 2020-4-24 11:06
你是想把它变成一个函数?如果你定义的函数和python自带的一样,可能会出现奇怪的bug,以后学到魔法方法 ...

对,我写的是一个函数,就像int()可以去掉小数,变成整数
我想用我变得这段程序定义一个函数,可以实现把浮点数四舍五入的那种,然后以后我自己就能像库里面有的BIT一样调用。。。。
我看小甲鱼的题目好像不是这个意思,但是我现在想到了这个问题

URSplendid 发表于 2020-4-24 11:15:04

qiuyouzhi 发表于 2020-4-24 11:05
为啥最后要写一个int = number呢?

我是想把int()重新定义成一种四舍五入的BIT。。。。
就这段程序我想写的是一个函数,就像int()可以去掉小数,变成整数
我想用我变得这段程序定义一个函数,可以实现把浮点数四舍五入的那种,然后以后我自己就能像库里面有的BIT一样调用。。。。
我看小甲鱼的题目好像不是这个意思,但是我现在想到了这个问题

qiuyouzhi 发表于 2020-4-24 11:17:48

URSplendid 发表于 2020-4-24 11:15
我是想把int()重新定义成一种四舍五入的BIT。。。。
就这段程序我想写的是一个函数,就像int()可以 ...

1,是BIF,不是BIT。
2,Python内置了一个round。

URSplendid 发表于 2020-4-24 11:21:06

qiuyouzhi 发表于 2020-4-24 11:08


谢谢大佬!解决了我的疑问!{:10_282:}

URSplendid 发表于 2020-4-24 11:24:40

qiuyouzhi 发表于 2020-4-24 11:17
1,是BIF,不是BIT。
2,Python内置了一个round。

对对BIT。。。
原来有这样的函数,还没学到,我刚试了一下round()
谢啦!
页: [1]
查看完整版本: 【python】萌新求助,int()BIT怎么变成四舍五入