Làm tròn số thập phân trong Python

BÀI TRÊN https://luyencode.net

Đề bài

John có 1 số thập phân xx nhưng vì yêu thích những chữ số nguyên nên John quyết định làm tròn nó thành số nguyên.

Nhiệm vụ của bạn là tìm ra 2 số nguyên trong đó:

  • 1 số sẽ là số nguyên lớn nhất nhưng bé hơn hoặc bằng xx
  • 1 số sẽ là số nguyên nhỏ nhất nhưng lớn hơn xx

Dữ liệu vào

Một số thập phân xx duy nhất (−10000≤x≤10000)(−10000≤x≤10000)

Dữ liệu ra

In ra 2 số là kết quả ra màn hình theo thứ tự tăng dần và cách nhau đúng 1 dấu cách

Ví dụ

Input #1

-5.23

Output #1

-6 -5

Nguồn

CLB Lập Trình PTIT
Đây là code của mình không biết có sai đâu không mà cứ hiện 31/32

import math as ma
a = float(input())
print('{} {}'.format(ma.floor(a),ma.ceil(a))) 

Trường hợp số nhập vào là số nguyên thì 2 kết quả giống nhau, sai yêu cầu thứ 2.
Vd:

-5
=> -5 -5
3
=> 3 3

Yêu cầu thứ 2 là Số nguyên nhỏ nhất và lớn hơn xx. Ở trường hợp này, nó bằng xx là sai.

4 Likes

@SITUVN.gcd
Cảm mơn ạ để mình coi lại

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?