列表推导式我的写法半对半错

img

img


有两个问题
1.为什么p10还得加0.5,不能直接p10+50再取整吗
2.请问这种写法该怎么改,上面的不完全对
谢谢啦

p 乘以 10加0.5是为了保证四舍五入,比如说3.2 3.7 两个数直接转成int,结果都是3,加上0.5以后就是3 4,达到了四舍五入的效果

int是直接取整数,不管正负都这样,所以要加0.5达到四舍五入,改成round就不用+0.5了
B = [int(x*10+0.5+50) for x in eval(A)]