彦彦儿 发表于 2020-6-17 17:57:17

《零基础入门学习Python》第005讲课后题

问题:我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?

然后我就认真思考编写了这个程序:
e = input("请输入一个数字:")
a = int(e)
b = float(e)
c = a + 0.5
d = a + 1
if b < c:
    print(a)
else:
    print(d)


然后程序无法run...为啥啊...虽然我知道这样做这道题可能有些舍近求远了,但是我还是想知道这个程序错在哪里...

Twilight6 发表于 2020-6-17 18:15:21


int 不能对小数字符串进行转化

所以导致报错


在你的代码基础上可以改成这样就好啦~:

e = input("请输入一个数字:")
a = float(e)
b = a + 0.5
if int(b) < a:
    print(int(a))
else:
    print(int(b))

均昊山 发表于 2020-6-17 19:29:26

本帖最后由 均昊山 于 2020-6-17 20:26 编辑

int() 函数用于将一个字符串或数字转换为整型。


class int(x, base=10)    如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
x -- 字符串或数字。
base -- 进制数,默认十进制。

可以用 decimal函数

彦彦儿 发表于 2020-6-18 09:42:07

均昊山 发表于 2020-6-17 19:29
int() 函数用于将一个字符串或数字转换为整型。




好~等我学到这个函数~谢谢!
页: [1]
查看完整版本: 《零基础入门学习Python》第005讲课后题