# Exercise 3.11-a,b
# Pyfml course
# Name : Quach Chi Cuong
# Glot.io : http://coolaf.com/run/snippets/eim2tcllgm
# Requirement :
# a) Viet 1 chuong trinh tim kiem ki tu xuat hien nhieu nhat trong 1 chuoi
# b) Viet 1 chuong trinh dem so lan xuat hien cua cac ki tu trong 1 chuoi
# Vi du::
# 'toi la aia' -->> t: 1, o: 1, i: 2, l: 1, a: 3
# Set 1 chuoi ki tu.
string = 'trai dat nay la cua chung minh. qua bong xanh bay di khap troi xanh.'
string2 = 'toi la aia'
# Tao list string uniq de chua cac ki tu duoc tim thay trong chuoi
# Tao list count, de chua so luong ki tu duoc tim thay tuong ung 1 ki tu
lst_string_uniq = []
lst_count = []
# Chay vong lap for tu 0 den do dai chuoi
for character in range(0,len(string)):
# Neu phat hien ki tu tung index nam trong cac ki tu dac biet nhu sau thi bo qua, khong tinh
if string[character] == ' ' or string[character] == '.' or string[character] == ',':
continue
# Neu ki tu tung index duoc xet duyet, da nam trong list string uniq thi ki tu do da duoc kiem tra roi
# khoi kiem tra lan nua.
if string[character] in lst_string_uniq:
continue
else:
# Tinh so luong ki tu tung index, xuat hien trong chuoi
# Them gia tri ki tu va so luong ki tu tuong ung vao index theo thu tu 2 ben list string_uniq va count
count_char = string.count(string[character])
lst_string_uniq.append(string[character])
lst_count.append(count_char)
# Tinh gia tri so lon nhat trong list count, tuong ung so luong ki tu lon nhat trong chuoi string ban dau
max_count = max(lst_count)
# In ket qua
print('string = \'' + string + '\'\n')
## Cau a
print('Cau a)')
print('- So ki tu xuat hien nhieu nhat: ',max_count)
print('- Cac ki tu do gom : ', end='')
# Chay vong lap for de check tung index, neu khop voi max gia tri thi xuat ra
for i in range(0,len(lst_count)):
if lst_count[i] == max_count:
print(lst_string_uniq[i], end=" ")
## Cau b
print('\n')
print('Cau b)')
print('- So lan cac ki tu xuat hien: ', end='')
# Chay vong lap for de check tung index, neu khop voi max gia tri thi xuat ra
for i in range(0,len(lst_string_uniq)):
print('' + str(lst_string_uniq[i]) + ': ' + str(lst_count[i]) + ', ', end='')