Một từ có 5 chữ cái là một trong những từ có độ dài phổ biến nhất trong tiếng Anh. Có rất nhiều từ có 5 chữ cái để chúng tôi lựa chọn và chúng tôi không thể trình bày tất cả chúng ở đây hôm nay, nhưng chúng tôi sẽ cố gắng hết sức để xem những gì chúng tôi có thể vượt qua
Mục lục
5 chữ cái
5 chữ cái là gì?
Các từ có 5 chữ cái có thể có đủ loại hình thức khác nhau, không có hai từ nào có nghĩa giống nhau. Cho dù đó là danh từ mà bạn đang tìm kiếm hay có thể là động từ, sẽ luôn có một từ gồm 5 chữ cái dành cho bạn
Tôi đang cố gắng tạo danh sách tất cả các từ được phân loại theo chữ cái “m” trong chuỗi của mình nhưng tôi không quản lý để có kết quả dưới dạng danh sách [chỉ loại không xác định hoặc nhiều danh sách]. Tôi muốn sử dụng len. danh sách với kết quả nhưng tôi không thể với kết quả của mình
< wikipedia_text = “Tu viện Liplje là một tu viện Chính thống giáo Serbia dành riêng cho Lễ Truyền tin và nằm ở Đô thị Teslić ở phía bắc Republika Srpska. Nó nằm ở phần rộng nhất của một hẻm núi hẹp mà qua đó một dòng sông nhỏ tên là Bistrica chảy qua. Sự đề cập sớm nhất về tu viện được tìm thấy trong một biên niên sử có từ nửa sau của thế kỷ 15. Các nhà sư của Liplje đã tích cực sao chép các sách tôn giáo trong thế kỷ 17. ” >
thứ nhất =
Input =
def word_letter[x].
danh sách =
cho từ trong x. tách ra[' '].
nếu từ. bắt đầu bằng[“m”] hoặc từ. bắt đầu bằng[“M”].
danh sách. chắp thêm[từ]
in[danh sách]
word_m = word_letter[wikipedia_text]
word_m
đầu ra
['Tu viện']
['Tu viện', 'tu viện']
['Tu viện', 'tu viện', 'Thành phố']
[‘Monastery’, ‘monastery’, ‘Municipality’, ‘mention’]
[‘Monastery’, ‘monastery’, ‘Municipality’, ‘mention’, ‘monastery’]
[‘Monastery’, ‘monastery’, ‘Municipality’, ‘mention’, ‘monastery’, ‘monks’]
cái thứ 2
Đầu vào =
xác định word_letter[x]
cho từ trong x. tách ra[' '].
nếu từ. bắt đầu bằng[“m”] hoặc từ. bắt đầu bằng[“M”].
in [từ]
word_m = word_letter[wikipedia_text]
word_m
Đầu ra =
Tu viện
tu viện
Thành phố
đề cập đến
tu viện
monks
Có ai trong số các bạn có thể giúp tôi việc đó không?
Cảm ơn rất nhiều.
có lẽ,
def word_letter[x]:
lst = []
for word in x.split[' '] :
if word.startswith['m'] or word.startswith['M']:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
có thể sử dụng
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
4 để tránh lặp lại [lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
5def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
chúng ta cũng có thể sử dụng cách hiểu danh sách ở đây,
def word_letter[x]:
return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]]
word_m = word_letter[wikipedia_text]
word_m
nếu tên hàm,
def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
0 không liên quan,[lambda x: [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]]][wikipedia_text]
có thể đổi tên,
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
có thể có một cách để làm điều này mà không cần sử dụng các vòng lặp, với sự trợ giúp của việc cắt
tìm thấy một cách sử dụng numpy, nhưng nó hơi lặp đi lặp lại
import numpy as np
x = np.array[wikipedia_text.split[' ']]
list[x[np.char.startswith[x, ['M']]]] + list[x[np.char.startswith[x, ['m']]]]
chúng ta có thể sử dụng
def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
1, def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
2 để giảm sự lặp lại, nhưng số lượng ký tự của mã cao hơn Tôi chưa bao giờ nghe nói về trò chơi Wordle trước ngày hôm qua, cho đến khi tôi tình cờ đọc được một bài báo về Giải pháp Wordle phương tiện, cưỡng bức thô bạo của Rameez Kakodker. Thành thật mà nói, nó thua tôi ở tiêu đề The First Attempt, nhưng nhờ bài viết này, tôi đã tìm kiếm trên App Store trên iPhone của mình và tìm thấy một ứng dụng miễn phí, sau đó tôi chơi trò chơi này hàng giờ trong tàu điện ngầm, trước khi đi ngủ, và
Giải pháp thủ công và rào cảnTôi đã nghĩ ra giải pháp nhanh và bẩn đầu tiên của mình bằng cách nhập tối đa 4 từ mà không có bất kỳ chữ cái trùng lặp nào trước, điều này cho phép tôi nhanh chóng loại bỏ hầu hết các chữ cái và nhận được nhiều manh mối nhất có thể trong tối đa 4 lần nhập. Bốn chữ vàng của tôi là.
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
6, [lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
7, letters = ['e', 'u', 'd', 'q', 'x', 'v']0 và
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']1, giống như bên dưới
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
ảnh chụp màn hình 1
Với tất cả năm chữ cái đã được xác định, thật dễ dàng để đoán từ đúng, đó là
letters = ['e', 'u', 'd', 'q', 'x', 'v']2
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
Tuy nhiên, cách tiếp cận này vẫn có thể dẫn đến những tình huống rất khó chịu, chẳng hạn như tình huống này
ảnh chụp màn hình 2
Bạn có thể thấy rằng sau lần thử thứ 4, tôi vẫn không biết gì, vì vậy tôi đã cố gắng loại trừ 3 chữ cái khác.
letters = ['e', 'u', 'd', 'q', 'x', 'v']3,
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']4 và
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']5. Điều đó khiến tôi phải thử thêm một lần nữa và tôi chỉ còn lại một lần dùng thử và tôi vẫn chưa có giải pháp. [Nếu bạn có thể giải quyết nó, hãy để lại nhận xét và tôi sẽ thừa nhận bạn thông minh hơn]Giải pháp Python, phiên bản 1
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
Đã đến lúc sử dụng kỹ năng Python của tôi, giống như tôi luôn làm bất cứ khi nào tôi gặp sự cố có thể giải quyết bằng lập trình
Đầu tiên, tôi tìm kiếm một từ điển gồm 5 chữ cái trực tuyến và tìm thấy từ điển này trên GitHub
GitHub - charlesreid1/năm-chữ-từ. Thử nghiệm với 5.757 từ năm chữ cái của Knuth
Kho lưu trữ này chứa danh sách các từ có năm chữ cái trên GraphBase của Donald Knuth, cũng như các tập lệnh để chạy nhiều…
github. com
Nó có 5757 từ và là đủ, xét cho cùng thì có bao nhiêu bạn biết từ
letters = ['e', 'u', 'd', 'q', 'x', 'v']6 , có thể tìm thấy từ này trong danh sách 12478 từ gồm 5 chữ cái này. Tải xuống
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']7 ở định dạng thô và lưu nó vào ổ đĩa cục bộ của bạn, trong trường hợp của tôi, trong thư mục
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']8
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
Bước đầu tiên là đọc tệp txt dưới dạng danh sách, điều này thật đơn giản
def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
8Sau đó, giải pháp đơn giản sẽ là kiểm tra từng từ để xem liệu nó chỉ chứa các chữ cái được phép
letters = ['e', 'u', 'd', 'q', 'x', 'v']
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
Vì chúng tôi biết cả
letters = ['e', 'u', 'd', 'q', 'x', 'v']9 và
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
def word_letter[x]:
return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]]
word_m = word_letter[wikipedia_text]
word_m
10 đều không thể xuất hiện ở vị trí thứ 2, nên chỉ có tùy chọn khả dụng là def word_letter[x]:
return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]]
word_m = word_letter[wikipedia_text]
word_m
11 và BINGO, vấn đề đã được giải quyếtGiải pháp Python, phiên bản 2Là một người cầu toàn thực dụng, tất nhiên, tôi sẽ không dừng lại ở đây. Tôi muốn có thể xác định các từ đáp ứng tất cả các tiêu chí đã biết trong Wordle
Vì vậy, tôi cần đưa ra một hệ thống ghi lại tất cả các tiêu chí một cách gọn gàng. Sau một số thử nghiệm và lỗi, đây là mã ghi tiêu chí
def word_letter[x]:
return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]]
word_m = word_letter[wikipedia_text]
word_m
1Nó đòi hỏi một số lời giải thích
- Lệnh
12 ghi lại các chữ cái đã biết chỉ được phép ở một số vị trí nhất định, ví dụdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
10 không thể xuất hiện ở vị trí 2 và 4, vì vậy các vị trí có thể làdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
14def word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
- Nếu một chữ cái có màu xanh lá cây, như chữ cái
15 trong ảnh chụp màn hình 1 ở trên, thì nó phải được ghi làdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
16 , có nghĩa là chữ cái thứ 5 phải làdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
15. Tuy nhiên, trong trường hợp này, có thể có mộtdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
15 khác xuất hiện ở các vị trí khác. Đó là lý do tại sao chúng ta cần thêmdef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
15 vàodef word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
20 trong đoạn mã saudef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
- Tôi sử dụng danh sách
21 để tìm ra những chữ cái nào vẫn chưa được kiểm tra và đặt chúng vào danh sách có tên làdef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
20def word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
- Cuối cùng, tôi nối các chữ cái chỉ có 1 vị trí được phép, như đã chỉ ra trong dấu đầu dòng 2
Với các tiêu chí đã sẵn sàng, đây là đoạn mã cuối cùng của tôi để kiểm tra tính hợp lệ của từng từ
def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
2Bây giờ câu trả lời là hoàn hảo, không có bất kỳ từ dư thừa. Lưu ý rằng tôi đã sử dụng 4 câu lệnh
def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
23 trong hệ thống phân cấp, có thể cô đọng chúng trong một câu lệnh def word_letter[x]:
lst = []
for word in x.split[' '] :
if any[word.startswith[j] for j in ['m', 'M']]:
lst.append[word]
return lst
word_m = word_letter[wikipedia_text]
word_m
23 duy nhất nhưng sự rõ ràng sẽ tốt hơn là ngắn gọn- Câu lệnh
23 đầu tiên kiểm tra xem tất cả các chữ cái đã biết [def word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
26] có xuất hiện trong từ hay khôngdef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
- Câu lệnh
23 thứ hai kiểm tra xem tất cả các chữ cái chưa biết trong một từ [các chữ cái khác ngoàidef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
26] có xuất hiện trong danh sáchdef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
20 khôngdef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
- Câu lệnh
23 thứ ba kiểm tra từng chữ cái của từ để xem liệu nó có xuất hiện trong danh sáchdef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
20 hay xuất hiện ở vị trí được phép được mô tả bởi từ điểndef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
12def word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
- Câu lệnh
23 thứ tư kiểm tra lại nếu một vị trí nhất định chỉ chứa một chữ cái nhất định [chẳng hạn như trường hợp củadef word_letter[x]: lst = [] for word in x.split[' '] : if any[word.startswith[j] for j in ['m', 'M']]: lst.append[word] return lst word_m = word_letter[wikipedia_text] word_m
16 ]def word_letter[x]: return [i for i in x.split[' '] if any[i.startswith[j] for j in ['m', 'M']]] word_m = word_letter[wikipedia_text] word_m
Bạn có thể tự hỏi làm thế nào tôi nghĩ ra danh sách vàng các từ bắt đầu.
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
6, [lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
7, letters = ['e', 'u', 'd', 'q', 'x', 'v']0 và
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
letters = ['e', 'u', 'd', 'q', 'x', 'v']1, sự thật là tình cờ. Nhưng chúng ta có thể đưa ra những kết hợp khác không?
for word in sgb:
if all[[l in letters for l in word]]:
print[word]# output:
vexed
queue
exude
deque
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
0Đoạn mã trên trả về 228 bộ kết hợp 4 từ, tất cả chúng bao gồm 20 chữ cái, đây là chế độ xem nhanh của danh sách
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
1Và tôi đặc biệt thích cái này.
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
09 , nó hấp dẫn và dễ nhớTất nhiên, giải pháp trên không hoàn hảo, tìm kiếm chỉ đi một chiều và chuỗi từ mới quan trọng. Nhưng nó nhanh và đủ tốt
Một giải pháp tích cực hơn như dưới đây
[lambda paragraph: [word for word in paragraph.split[' '] if any[word.startswith[character] for character in ['m', 'M']]]][wikipedia_text]
3Có gần 2 triệu kết hợp 4 từ bao gồm 20 chữ cái
Và câu trả lời cho câu hỏi thứ hai là KHÔNG, không có tổ hợp 5 từ nào bao gồm 25 chữ cái, ít nhất là không có trong danh sách 5757 từ