Có nhiều cách để bạn có thể làm bài này.
Cách đầu tiên là đọc toàn bộ tập tin và lưu hết vào array
hoặc dict
chẳng hạn, xử lý lưu như thế nào để lúc sau bạn có thể dễ dàng so sánh là được, sau đó bạn chỉ cần so sánh input nhập vào với array
hoặc dict
đó. Cách này có một bất lợi là nếu dữ liệu trong tập tin *.txt của bạn quá lớn, sẽ gây tốn rất nhiều bộ nhớ.
Ví dụ mã nguồn (mình sử dụng Python 2 nhé).
# Read data
with open('data.txt', 'r') as f:
dataset = f.readline()
# Process input from console
print 'Please type an english sentence:'
en_sentence = raw_input()
is_found = False
for index in range(len(dataset)):
if en_sentence == dataset[index].strip():
print dataset[index + 1]
is_found = True
break
# If nothing found, print 'khong tim thay!'
if not is_found:
print 'Khong tim thay!'
Cách thứ hai là đối với mỗi input nhập vào, bạn cần duyệt từng dòng của tập tin để so sánh, nếu dòng nào trùng thì trả về dòng kế tiếp (tức là dòng dịch ra tiếng Việt).
Ví dụ mã nguồn.
# Process input from console
print 'Please type an english sentence:'
en_sentence = raw_input()
# Read data and find
is_found = False
with open('data.txt', 'r') as f:
for line in f:
if is_found == True:
print line.strip()
break
elif en_sentence == line.strip():
is_found = True
# If nothing found, return 'khong tim thay!'
if not is_found:
print 'Khong tim thay!'
Ngoài ra bạn còn nhiều cách khác để làm bởi lập trình bằng Python rất dễ vì cú pháp đơn giản ngắn gọn của nó.