Viết hàm hiển thị số lần xuất hiện của các ký tự trong chuỗi s.

Bài tập Python tự luyện

0.0 (0 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 08:51 28-03-2021 491 lượt xem 2 bình luận
Tác giả/Dịch giả: K9
Học nhanh

Danh sách bài học

Viết hàm hiển thị số lần xuất hiện của các ký tự trong chuỗi s.

Bài toán cần xử lý:

Viết hàm truyền vào tham số là chuỗi s. Hiển thị số lần xuất hiện của các ký tự trong chuỗi s.


Kiến thức cần có

  • Hàm input() và hàm print()
  • Biến và kiểu dữ liệu
  • Cấu trúc lặp trong Python
  • Cấu trúc rẽ nhánh trong Python
  • Hàm trong Python
  • Các phương thức xử lý chuỗi trong Python
  • count()
  • format()

Định dạng đầu vào

Gồm một dòng chứa chuỗi bất kỳ.


Định dạng đầu ra:

Gồm một dòng hiển thị theo định dạng “‘{ký tự}’: {số lần xuất hiện}; ”


Ví dụ

  • Input 1:
Hello
  • Output 1:
'H': 1; 'e': 1; 'l': 2; 'o': 1;

  • Input 2:
kteam kteam kteam
  • Output 2:
'k': 3; 't': 3; 'e': 3; 'a': 3; 'm': 3; ' ': 2;

  • Input 3:
*** --- **
  • Output 3:
'*': 5; ' ': 2; '-': 3;

Gợi ý

  • Định nghĩa hàm ky_tu_khong_trung_lap với tham số là chuỗi s:
  • Tham khảo Bài 64
  • Định nghĩa hàm dem_ky_tu với tham số là chuỗi s:
  • Gọi hàm ky_tu_khong_trung_lap để trả về chuỗi các ký tự xuất hiện trong chuỗi s
  • Sử dụng vòng lặp for duyệt chuỗi các ký tự xuất hiện trong chuỗi s:
    • Với mỗi ký tự, sử dụng phương thức count() để đếm số lần xuất hiện trong chuỗi s
    • Hiển thị kết quả theo định dạng đầu ra
  • Dùng hàm input() để nhập hai chuỗi từ bàn phím.
  • Gọi hàm dem_ky_tu và truyền vào các tham số cần thiết.

Code mẫu

def ky_tu_khong_trung_lap(s):
   #Chuoi luu cac ky tu khong trung lap
   chuoiKetQua = ""
   #Su dung vong lap for duyet qua cac ky tu cua chuoi s
   for kyTu in s:
       #Neu ky tu chua xuat hien trong chuoiKetQua thi them vao
       if kyTu not in chuoiKetQua:
           chuoiKetQua += kyTu
   return chuoiKetQua

def dem_ky_tu(s):
   #Goi ham de tra ve chuoi gom cac ky tu xuat hien trong chuoi s
   chuoiKyTu = ky_tu_khong_trung_lap(s)

   #Su dung vong lap for de duyet cac ky tu
   for kyTu in chuoiKyTu:
       #Su dung phuong thuc count() de dem so lan xuat hien trong chuoi s
       dem = s.count(kyTu)
       #Hien thi ra man hinh
       print("'{}': {}; ".format(kyTu, dem), end='')

#Nhap gia tri tu ban phim
s = input()

#Goi ham va truyen cac tham so can thiet
dem_ky_tu(s)

Kết luận

Trong bài này, Kteam đã hướng dẫn bạn cách viết hàm truyền vào tham số là chuỗi s. Hiển thị các câu của chuỗi s, mỗi câu nằm trên một dòng. Các câu đã được xóa khoảng trắng thừa và định dạng title().Thêm bài giải của bạn vào phần bình luận để được Kteam review code và fix lỗi (nếu có) trong livestream của khóa học này.

Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách VIẾT HÀM HÀM TRẢ VỀ TỔNG VÀ TRUNG BÌNH CỘNG CỦA CÁC TỪ LÀ SỐ TỰ NHIÊN TRONG CHUỖI S.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!"


Tải xuống

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

Khóa học

Bài tập Python tự luyện

Serial dành cho những bạn cần luyện tập phương pháp, tu duy lập trình. Làm quen với các bài toán trong lập trình, ngẫu nhiên từ cơ bản đến nâng cao. Nội dung Serial này được phân tách chi tiết nhất có thể, nhằm giúp các bạn dễ hiểuthực hành được ngay.

Bạn nên tự làm lại từng bài tập trên video để có kết quả tốt nhất. Cùng Kteam "Luyện tập - Thử thách - không ngại khó"

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
vietnguyendang đã bình luận 21:48 09-04-2021
def stringcount(s):
    mydict = {}
    for i in s:
        if i not in mydict.keys():
            mydict[i] = s.count(i)
    return mydict
    

 

xxxts2txxx đã bình luận 20:28 28-03-2021
def SoLanXuatHien(s):
    # Sử dụng dict để lưu trữ
    d = dict()
    for i in s:
        # Nếu chưa có key thì value bắt đầu bằng 1
        if i not in d:
            d[i] =1
        # Qua mỗi lần đếm value thêm 1 
        else:
            d[i]+=1
    return d

print(SoLanXuatHien('Hello'))

 

Không có video.