Mình đang vướng mắc một ví dụ nhỏ như sau:
Đề bài là cho một chuỗi các từ và một số nguyên, trả về danh sách các từ có số chữ cái lớn hơn hoặc bằng số nguyên đó.
Example:
>>> find_words(4, "dog, cat, baby, balloon, me")
['baby', 'balloon']
Và đây là cái hàm:
import re
def find_words(count, string):
return re.findall(r"\w{{},}".format(count), string)
Khi chạy thì bị lỗi “Single ‘}’ encountered in format string”. Sửa code thành r"\w{{{},}}". thì ok.
Mình không hiểu là tại sao phải cần đến ba cặp dấu ngoặc nhọn mà không phải là hai, vì:
\w{count,} sẽ tìm những từ có từ count chữ số trở lên, và bởi vì không thể truyền count trực tiếp nên chỉ cần một cái {} vào chữ count thôi chứ? Mời các cao thủ Python vào thông não…
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?