Mọi người cho em hỏi, em có 1 bài tập như thế này:
Để user nhập một file bất kì vao( vd:a.txt), sau đó chương trình sẽ đếm số chữ ( vd: hello I I am–>hello:1, i:2,am:1) và tự tạo và ghi ra file mới ( vd:b.txt) những thứ đếm được.
Em đã viết được cái function để đếm số chữ nhưng khi khi nhập 1 file vào open(‘a.txt’,‘r’), nhưng chương trình chỉ tạo ra file b.txt mà không có gì trong đó.
Đây là code hiện tại
def count_word(file):
#open an input and output file
infile = open(file,"r")
outfile = open("frequency.txt","w")
#dem tu trong string
split_string = file.split()
string_dict = {}
#first populate the dictionary with the keys being each word in the string, all having zero for their values.
for word in split_string:
string_dict[word] = 0
#Then cycle through the split string again and if the word is one of the keys in the dictionary add 1 each time.
for word in split_string:
if word in string_dict.keys():
string_dict[word]=string_dict[word]+1
return string_dict
#close the input and output file
outfile.close()
infile.close()
#Main Program
name_infile = raw_input("Enter the name of a text file: ")
count_word(name_infile)
print "frequency.txt was created successfully"
Ai có cach giải quyết giúp dùm e với.