• TICA OJ
  • Trang chủ
  • Bài
  • Các bài nộp
  • Thành viên
  • tổ chức
  • Các kỳ thi
  • Thông tin
    >
    • Máy chấm
    • Custom Checkers
    • Github
VI EN Đăng nhập  hoặc  Đăng ký

  • Blog
  • Sự kiện
  • Tin tức
  • Blog
  • Tutorials

0

Vote nếu thích đc giải nhất năm nay

nguyendanglam đã đăng vào 31, Tháng 10, 2026, 15:10

Vote nếu thích đc giải nhất năm nay

nguyendanglam
o31, Tháng 10, 2026, 15:10 0

0

hello everyone

dung2026 đã đăng vào 19, Tháng 9, 2026, 6:47

cảm ơn thầy thinhdt, Tica rất nhiều

dung2026
o19, Tháng 9, 2026, 6:47 1

0

hi everyone

py4_08 đã đăng vào 28, Tháng 8, 2026, 12:40

hi hi hi hi hi

py4_08
o28, Tháng 8, 2026, 12:40 0

7

VOTE NẾU THÍCH TICA , thầy Thịnh

nguyendanglam đã đăng vào 10, Tháng 8, 2026, 12:57

VOTE NẾU THÍCH TICA

nguyendanglam
o10, Tháng 8, 2026, 12:57 0

-4

altpatayole

realminhhoang đã đăng vào 9, Tháng 8, 2026, 14:07

do you like ketchup? i hate altpatayole (for more information: ask patayole)

realminhhoang
o9, Tháng 8, 2026, 14:07 0

5

Thầy Thịnh Có Một Năm Thành Công

Tuan1234 đã đăng vào 7, Tháng 8, 2026, 13:59

Thầy dẫn dắt nhiều bạn vào Chung Kết Tin Học Trẻ (trong đó có mình). Chúc thầy thành công vào các năm sau.

Tuan1234
o7, Tháng 8, 2026, 13:59 2

8

rate nếu bạn nghĩ bạn top 12 khu vực

nguyendanglam đã đăng vào 17, Tháng 7, 2026, 13:28

rate nếu bạn nghĩ bạn top 12 khu vực

nguyendanglam
o17, Tháng 7, 2026, 13:28 3

8

rate

py48_09 đã đăng vào 3, Tháng 7, 2026, 15:09

bạn rate nếu bạn học thầy thịnh

py48_09
o3, Tháng 7, 2026, 15:09 0

8

rate nếu bạn nghĩ thầy thịnh giỏi nhất

hoangdangkhanh đã đăng vào 28, Tháng 6, 2026, 8:55

thật đấy thầy thịnh đẹp zai

hoangdangkhanh
o28, Tháng 6, 2026, 8:55 5

3

F-Strings trong Python

Anh_1104 đã đăng vào 31, Tháng 5, 2026, 12:37

Tất tần tật về f-strings trong Python

Giới thiệu

Khi lập trình bằng Python, chúng ta thường xuyên phải in ra màn hình các giá trị của biến để kiểm tra chương trình hoặc xuất kết quả theo định dạng yêu cầu.

Trước Python 3.6, lập trình viên thường sử dụng:

name = "Steve"
age = 15

print("Tên:", name, "Tuổi:", age)

hoặc:

print("Tên: {} Tuổi: {}".format(name, age))

Tuy nhiên, từ Python 3.6 trở đi, Python giới thiệu f-string (formatted string literal) giúp việc định dạng chuỗi trở nên ngắn gọn, trực quan và nhanh hơn.

print(f"Tên: {name} Tuổi: {age}")

Ngày nay, f-string được xem là cách định dạng chuỗi phổ biến nhất trong Python.


1. Cú pháp cơ bản

Để tạo f-string, thêm ký tự f trước dấu nháy.

name = "Steve"

print(f"Xin chào {name}")

Kết quả:

Xin chào Steve

Mọi biểu thức nằm trong dấu {} sẽ được Python tính toán rồi thay thế vào chuỗi.


2. Chèn nhiều biến

name = "Steve"
age = 15

print(f"Tôi là {name}, năm nay {age} tuổi.")

Kết quả:

Tôi là Steve, năm nay 15 tuổi.

3. Chèn biểu thức

Không chỉ biến, f-string còn cho phép viết trực tiếp các biểu thức.

a = 5
b = 7

print(f"{a} + {b} = {a + b}")

Kết quả:

5 + 7 = 12

Ví dụ khác:

x = 10

print(f"Bình phương của x là {x ** 2}")

Kết quả:

Bình phương của x là 100

4. Gọi hàm trong f-string

name = "steve"

print(f"{name.upper()}")

Kết quả:

STEVE

Hoặc:

print(f"{len(name)}")

Kết quả:

5

5. Định dạng số thực

Đây là một trong những ứng dụng quan trọng nhất của f-string.

Làm tròn đến n chữ số thập phân

pi = 3.1415926535

print(f"{pi:.2f}")

Kết quả:

3.14

Ý nghĩa:

  • .2 : lấy 2 chữ số sau dấu phẩy.
  • f : hiển thị dưới dạng số thực.

Ví dụ:

x = 12.345678

print(f"{x:.3f}")

Kết quả:

12.346

6. Định dạng phần trăm

score = 0.875

print(f"{score:.2%}")

Kết quả:

87.50%

Python tự động nhân với 100 và thêm ký hiệu %.


7. Định dạng dấu phẩy phân tách hàng nghìn

n = 1234567890

print(f"{n:,}")

Kết quả:

1,234,567,890

Rất hữu ích khi hiển thị số lớn.


8. Căn lề chuỗi

Căn phải

print(f"{'ABC':>10}")

Kết quả:

       ABC

Căn trái

print(f"{'ABC':<10}")

Kết quả:

ABC

Căn giữa

print(f"{'ABC':^10}")

Kết quả:

   ABC

9. Điền ký tự

print(f"{'ABC':*^10}")

Kết quả:

***ABC****

Giải thích:

  • * là ký tự điền.
  • ^ là căn giữa.
  • 10 là độ rộng.

10. Thêm số 0 phía trước

x = 42

print(f"{x:05}")

Kết quả:

00042

Ứng dụng:

hour = 8
minute = 5

print(f"{hour:02}:{minute:02}")

Kết quả:

08:05

11. Định dạng hệ cơ số

Nhị phân

n = 25

print(f"{n:b}")

Kết quả:

11001

Bát phân

print(f"{n:o}")

Kết quả:

31

Thập lục phân

print(f"{n:x}")

Kết quả:

19

Chữ hoa:

print(f"{n:X}")

Kết quả:

19

(với các số lớn hơn 9 sẽ hiện A, B, C...)


12. Debug cực nhanh với dấu =

Từ Python 3.8:

x = 10
y = 20

print(f"{x=}, {y=}")

Kết quả:

x=10, y=20

Rất tiện khi debug.

Ví dụ:

mid = (l + r) // 2

print(f"{l=}, {r=}, {mid=}")

13. Dùng biểu thức điều kiện

age = 15

print(f"{'Đủ tuổi' if age >= 18 else 'Chưa đủ tuổi'}")

Kết quả:

Chưa đủ tuổi

14. Xuống dòng trong f-string

name = "Steve"
age = 15

print(f"Tên: {name}\nTuổi: {age}")

Kết quả:

Tên: Steve
Tuổi: 15

15. Dấu ngoặc nhọn trong f-string

Nếu muốn in dấu { hoặc } thật sự:

print(f"{{Hello}}")

Kết quả:

{Hello}

16. f-string trong lập trình thi đấu

Trong Competitive Programming, f-string thường được dùng để:

In thông tin debug

print(f"{i=}, {j=}, {ans=}")

Xuất số thực chính xác

print(f"{ans:.6f}")

Hiển thị bảng

for i in range(1, 6):
    print(f"{i:<5}{i*i:<5}")

Kết quả:

1    1
2    4
3    9
4    16
5    25

17. So sánh f-string và format()

format()

name = "Steve"

print("Hello {}".format(name))

f-string

print(f"Hello {name}")

Ưu điểm của f-string:

  • Ngắn gọn hơn.
  • Dễ đọc hơn.
  • Viết biểu thức trực tiếp.
  • Thực thi nhanh hơn trong đa số trường hợp.

Vì vậy, khi dùng Python 3.6+, f-string thường là lựa chọn tốt nhất.


Bảng tóm tắt

Cú pháp Ý nghĩa
f"{x}" Chèn biến
f"{a+b}" Chèn biểu thức
f"{x:.2f}" 2 chữ số thập phân
f"{x:,}" Dấu phẩy hàng nghìn
f"{x:b}" Nhị phân
f"{x:o}" Bát phân
f"{x:x}" Hex
f"{x:05}" Thêm số 0
f"{s:<10}" Căn trái
f"{s:>10}" Căn phải
f"{s:^10}" Căn giữa
f"{x=}" Debug

Kết luận

f-string là một trong những tính năng hữu ích nhất của Python hiện đại. Nó giúp mã nguồn ngắn gọn, dễ đọc và mạnh mẽ hơn rất nhiều so với cách nối chuỗi hoặc sử dụng format() truyền thống.

Nếu bạn đang học Python hoặc lập trình thi đấu, hãy tập thói quen sử dụng f-string ngay từ đầu. Chỉ cần nắm vững các định dạng cơ bản như:

  • Chèn biến
  • Chèn biểu thức
  • Làm tròn số thực
  • Căn lề
  • Debug bằng =

là đã đủ để giải quyết phần lớn nhu cầu trong thực tế.

Anh_1104
o31, Tháng 5, 2026, 12:37 0
  • «
  • 1
  • 2
  • »

Top thành viên

# Tên truy cập Điểm
1
thinhdt
28942,79
2
dongvudangkhoa
20141,79
3
minhkhoi_py30
20103,79
4
Minhnhan
20080,00
5
Tuan1234
19605,00
Tổ chức Xem đầy đủ >>>

Top đóng góp

# Tên truy cập Đóng góp
1
minhkhoi_py30
108
2
nguyendanglam
25
3
Tuan1234
21
4
admin
19
5
thinhdt
19
Xem đầy đủ >>>

Dòng bình luận

  • py8-09 → Dãy số: 1,2,3,4,5,6,7,8,9,11,22,33,44,55 ....[Cơ bản]
  • py52-03 → Trò chơi đá bóng
  • py52-03 → Dãy số: 1,2,3,4,5,6,7,8,9,11,22,33,44,55 ....[Cơ bản]
  • py52-03 → Chọn Số
  • py52-14 → Trò chơi đá bóng
  • py52-14 → Trò chơi đá bóng
  • py52-03 → Trò chơi đá bóng
  • py61-10 → Trò chơi đá bóng
  • dung2026 → hello everyone
  • py52-03 → Trò chơi đá bóng
RSS / Atom

Bài mới

  • Dãy số: 1,2,3,4,5,6,7,8,9,11,22,33,44,55 ....[Cơ bản]
  • Xây tháp
  • Nhặt hạt dẻ
  • Chọn Số
  • Trò chơi đá bóng
  • Tìm và sửa lỗi
  • Kiểm tra chia lấy dư cho 3
RSS / Atom

dựa trên nền tảng DMOJ | theo dõi VNOI trên Github và Facebook