Nhập
Để nhập một số thực bằng hàm
input()
, cần phải chuyển đổi chuỗi ký tự, là kết quả của hàm
input()
, thành một số thực bằng hàm
>float()
:
x = float(đầu vào())
Nếu bạn cần nhập nhiều giá trị từ một dòng cùng một lúc, thì chúng tôi sử dụng phương pháp tương tự như đối với số nguyên:
x, y = map(float, input().split())
Đầu ra
Khi hiển thị số thực, 16 chữ số thập phân được hiển thị theo mặc định. Định dạng này không phải lúc nào cũng cần thiết. Nếu bạn cần rút ngắn định dạng đầu ra, hãy sử dụng đầu ra có định dạng hoặc Chuỗi F.
Định dạng đầu ra
Để làm điều này, hãy áp dụng phương thức format()
cho chuỗi mà chúng ta muốn xuất ra. Và bên trong các định dạng dòng được viết trong dấu ngoặc nhọn sau dấu hai chấm. Dấu ngoặc đơn của hàm format()
cho biết tên của các biến (hoặc hằng số), các giá trị của chúng sẽ được thay thế thành chuỗi thay vì dấu ngoặc nhọn ở định dạng đã chỉ định. Số lượng biến phải khớp với số lượng dấu ngoặc nhọn. Phương pháp này hoạt động trong Python bắt đầu từ phiên bản 3.
Ví dụ
<đầu>
|
Giải thích |
Đầu ra màn hình |
điều>
|
x = 1/6
|
|
|
in("{:f}".format(x))
định dạng :f xuất ra 6 chữ số theo mặc định ở phần phân số |
|
0.166667
|
in("{:.3f}".format(x))
:.3 có nghĩa là xuất 3 ký tự sau dấu chấm |
|
0,167
|
in("{:12.4e}".format(x))
:12.4 - số đầu tiên (12 ) chỉ định tổng số vị trí để hiển thị số (bao gồm cả dấu chấm);
số thứ hai (4 ) - số chữ số ở phần phân số;
format e - hiển thị số ở định dạng khoa học. |
|
1.6667e-01
Chuỗi F
Một cách khác để hiển thị chuỗi đã định dạng là sử dụng f-strings (f-string
). Phương pháp này có sẵn trong Python bắt đầu từ phiên bản 3.6.
in(f"{x:f}")
in(f"{x:.3f}")
in(f"{x:12.4e}")
F-string là một chuỗi ký tự đại diện, bắt đầu bằng f
(hoặc F
). Mỗi khi muốn chèn giá trị của một biến nào đó vào một chuỗi, chúng ta cần thêm tên biến được đặt trong dấu ngoặc nhọn {}
. Bên trong dấu ngoặc nhọn, bạn có thể chỉ định một phương thức định dạng tương tự như phương thức fomat()
.
Ngoài phương thức format()
và F-strings
, bạn có thể sử dụng các cách khác để định dạng đầu ra. Chúng tôi nhận được kết quả tương tự bằng cách viết các câu lệnh đầu ra như sau:
in("%f" % (x))
in("%.3f" % (x))
in("%12.4e" % (x))
Phương pháp định dạng này bắt chước hàm printf()
của ngôn ngữ C. Phương pháp này được coi là lỗi thời, nhưng trong một số trường hợp, nó thuận tiện hơn. Ngoài ra, phương pháp này là phương pháp duy nhất (trong số những phương pháp được đề cập ở đây) hoạt động trong Python phiên bản 2.5 trở xuống.
Problem
Hoàn thành nhiệm vụ theo thứ tự:
1. Ở dòng thứ ba, định dạng đầu ra của biến y
bằng cách sử dụng đầu ra định dạng, với số ký tự ở phần phân số theo mặc định mạnh> (xem lý thuyết! ).
2. Ở dòng thứ tư, định dạng đầu ra của biến y
sao cho toàn bộ số được hiển thị ở 10 vị trí, với 4 ký tự cho phần phân số.
3. Ở dòng thứ năm kiểu đầu ra của biến y
sao cho số được xuất ở định dạng khoa học với ba chữ số thập phân.