Làm thế nào để bạn kiểm tra xem một số có chứa một con trăn chữ số nhất định không?
Câu hỏi này thực sự đã xuất hiện trong một trong những bài kiểm tra của học sinh của tôi. Ở đây, chúng tôi được yêu cầu viết một hàm def contains_1(n):8, nhận vào một số nguyên và trả về def contains_1(n):9 nếu số nguyên đầu vào của chúng tôi chứa chữ số 1 và def contains_1(n):0 nếu không. Thông thường, chúng ta có thể làm điều này trong 1 dòng Show def contains_1(n): Cuộc đuổi bắt Phiên bản đơn giản trong đó 1 ≤ n ≤ 100 Trong câu hỏi mà sinh viên của tôi đã đưa ra, số nguyên đầu vào được giới hạn trong phạm vi từ 1 đến 100. Chúng ta có thể đơn giản giả định rằng số đó nằm trong khoảng từ 1 đến 100 (bao gồm cả), điều này khiến mọi thứ trở nên đơn giản hơn nhiều Lực lượng vũ phudef contains_1(n): Cho rằng các số chỉ nằm trong khoảng từ 1 đến 100, thực sự khả thi khi thực hiện phương pháp vũ phu và liệt kê thủ công từng số có chứa chữ số 1, sau đó kiểm tra xem số đầu vào của chúng ta có thuộc bên trong không Sử dụng câu lệnh if-elsedef contains_1(n): Nếu chúng ta không muốn sử dụng phương pháp brute force tắt, chúng ta có thể sử dụng một vài câu lệnh if-else để giải quyết vấn đề này. Đây là các số từ 1 đến 100 có chứa chữ số 1
Như vậy ta có thể viết 1 câu lệnh if cho mỗi điều kiện là xong Phiên bản khó hơn - n có thể là bất kỳ số nguyên nàoNếu chúng ta loại bỏ giới hạn trong đó n chỉ có thể bao gồm từ 1 đến 100, những câu hỏi này sẽ trở nên khó hơn. Thay vào đó, chức năng của chúng tôi phải bao gồm tất cả các số nguyên - chúng tôi chắc chắn không thể sử dụng phương pháp vũ phu ở đây Logic của giải pháp
Giải mãdef contains_1(n): Chạy nhanh trong đó n = 12345
Một lần chạy khác trong đó n = 9876
Một số mã thử nghiệmdef contains_1(n):4Kết luận Nếu bài viết này cung cấp giá trị và bạn muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký làm thành viên Phương tiện - Đó là 5 đô la một tháng và bạn có quyền truy cập không giới hạn vào các câu chuyện trên Phương tiện. Nếu bạn đăng ký bằng liên kết của tôi bên dưới, tôi sẽ kiếm được một khoản hoa hồng nhỏ mà không phải trả thêm phí cho bạn Đăng ký bằng liên kết của tôi tại đây để đọc các bài viết trên Phương tiện không giới hạn Nếu bài viết này mang lại giá trị to lớn cho bạn, hãy cân nhắc mua cho tôi một ly cà phê — mọi đóng góp nhỏ đều được đánh giá cao https. //www. muameacoffee. com/zlliu Nếu bạn muốn nhận thông báo bất cứ khi nào tôi xuất bản, hãy cân nhắc tham gia danh sách email của tôi Nhận email bất cứ khi nào Zlliu xuất bảnNhận email bất cứ khi nào Zlliu xuất bản. Bằng cách đăng ký, bạn sẽ tạo một tài khoản Medium nếu bạn chưa có…zl-liu. vừa phải. com Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord |