Python For Loops và If Statements được kết hợp (Hướng dẫn về Khoa học Dữ liệu) – python cho trong nếu

Trong bài viết này, tôi sẽ chỉ cho bạn – thông qua một vài ví dụ thực tế – cách kết hợp vòng lặp for với vòng lặp for khác và / hoặc với câu lệnh if!

Bạn đang xem : python for in if

Lần cuối cùng tôi đã viết về Python For Loops If Statements . Hôm nay chúng ta sẽ nói về cách kết hợp chúng. Trong bài viết này, tôi sẽ chỉ cho bạn – thông qua một vài ví dụ thực tế – cách kết hợp vòng lặp for với vòng lặp for khác và / hoặc với câu lệnh if!

Lưu ý: Đây là hướng dẫn thực hành. Tôi thực sự khuyên bạn nên làm phần viết mã với tôi – và nếu bạn có thời gian, hãy giải các bài tập ở cuối bài viết! Nếu bạn chưa làm như vậy, trước tiên hãy xem qua các bài viết sau:

Lưu ý 2: Trên thiết bị di động, các dấu ngắt dòng của đoạn mã có thể trông phức tạp. Nhưng nếu bạn sao chép và dán chúng vào Máy tính xách tay Jupyter của mình, bạn sẽ thấy các dòng thực tế rõ ràng hơn nhiều!

Cách trở thành Nhà khoa học dữ liệu
(khóa học video miễn phí 50 phút của Tomi Mester)

Chỉ cần đăng ký Bản tin Data36 tại đây (miễn phí)!


Tôi chấp nhận Chính sách quyền riêng tư của Data36. (Không có spam. Chỉ nội dung hữu ích liên quan đến khoa học dữ liệu. Khi bạn đăng ký, tôi sẽ cập nhật cho bạn một vài email mỗi tuần. Bạn sẽ nhận được các bài báo, khóa học, bảng đánh lừa, hướng dẫn và nhiều nội dung thú vị.)
< p class = "elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons">

Vòng lặp for trong vòng lặp for – còn gọi là vòng lặp for lồng nhau

Dự án dữ liệu bạn đang thực hiện càng phức tạp, thì khả năng bạn gặp phải tình huống phải sử dụng vòng lặp for lồng nhau càng cao. Điều này có nghĩa là bạn sẽ chạy một lần lặp, sau đó là một lần lặp khác bên trong lần lặp đó.

Giả sử bạn có chín tiêu đề chương trình truyền hình được xếp vào ba danh mục: phim hài, phim hoạt hình, phim truyền hình. Chúng được trình bày trong một danh sách Python lồng nhau (“danh sách trong một danh sách”):

 my_movies = [['Tôi gặp mẹ bạn như thế nào', 'Bạn bè', 'Thung lũng Silicon'],
    ['Family Guy', 'South Park', 'Rick and Morty'],
    ['Breaking Bad', 'Game of Thrones', 'The Wire']]

Bạn muốn đếm các ký tự trong tất cả các tiêu đề này và in kết quả lần lượt ra màn hình, ở định dạng sau:

"Tiêu đề [movie_title] dài [X] ký tự."

Bạn sẽ làm điều đó như thế nào? Vì bạn có ba danh sách trong danh sách chính của mình, nên để lấy tên phim, bạn phải lặp lại danh sách my_movies của mình – và bên trong danh sách đó, qua mọi danh sách phụ:

 cho danh sách con trong my_movies:
    cho movie_name trong danh sách phụ:
        char_num = len (movie_name)
        print ("Tiêu đề" + movie_name + "dài" + str (char_num) + "ký tự.")

Lưu ý: hãy nhớ len () là một hàm Python cho kết quả là một số nguyên. Để đặt số nguyên này thành một câu “có thể in được”, trước tiên chúng ta phải chuyển nó thành một chuỗi. Tôi đã viết về vấn đề này trong hướng dẫn Python For Loops trước đây.

python lồng vào vòng lặp - example

Tôi biết, lần đầu tiên các vòng lặp for trong Python có thể khó hiểu… Các vòng lặp for lồng nhau thậm chí còn khó hơn. Nếu bạn không hiểu chính xác điều gì đang xảy ra ở trên, hãy lấy một cây bút và một tờ giấy và cố gắng mô phỏng toàn bộ tập lệnh như thể bạn là một chiếc máy tính – hãy xem qua từng bước vòng lặp của bạn và ghi ra kết quả.

Xem Thêm  Cách thêm và thay đổi màu nền trong HTML - thay đổi màu nền html

Một điều nữa:
Cú pháp! Các quy tắc giống với những quy tắc bạn đã học khi chúng ta thảo luận về các vòng lặp for đơn giản – điều duy nhất tôi muốn nhấn mạnh và bạn nên chắc chắn hãy chú ý, là thụt lề . Sử dụng thụt lề thích hợp là cách duy nhất để bạn có thể cho Python biết rằng trong vòng lặp for (bên trong hoặc bên ngoài) mà bạn muốn áp dụng khối mã của mình. Chỉ cần kiểm tra và cố gắng tìm ra sự khác biệt giữa ba ví dụ sau:

python lồng vào vòng lặp - example Ví dụ 1python lồng vào vòng lặp cho - ví dụ 2 Ví dụ 2  python lồng vào vòng lặp - ví dụ 3 Ví dụ 3

Nếu câu lệnh trong vòng lặp for

Bên trong vòng lặp for, bạn cũng có thể sử dụng câu lệnh if.

Hãy để tôi sử dụng một trong những ví dụ nổi tiếng nhất về các bài tập mà bạn có thể được đưa ra làm câu hỏi mở đầu trong cuộc phỏng vấn tuyển dụng nhà khoa học dữ liệu cấp cơ sở.

Nhiệm vụ là:
Xem qua tất cả các số cho đến 99. In ‘fizz’ cho mọi số chia hết cho 3, in ‘buzz’ cho mọi số chia hết cho 5 và in ‘fizzbuzz ‘với mọi số chia hết cho 3 và 5! Nếu số không chia hết cho 3 hoặc 5, hãy in dấu gạch ngang (‘-‘)!

Đây là giải pháp!

 cho tôi trong phạm vi (100):
    nếu tôi% 3 == 0 và tôi% 5 == 0:
        print ('fizzbuzz')
    elif i% 3 == 0:
        print ('fizz')
    elif i% 5 == 0:
        print ('buzz')
    khác:
        in('-')

python for vòng lặp và câu lệnh if - fizzbuzz example

Như bạn có thể thấy, câu lệnh if trong vòng lặp for là hoàn hảo để đánh giá một danh sách các số trong một phạm vi (hoặc các phần tử trong danh sách) và đặt chúng vào các nhóm khác nhau, gắn thẻ chúng hoặc áp dụng các chức năng trên chúng – hoặc chỉ cần in chúng ra.

Một lần nữa: khi bạn sử dụng câu lệnh if trong vòng lặp for, hãy cực kỳ cẩn thận với các thụt lề vì nếu đặt sai vị trí, bạn có thể nhận được lỗi hoặc kết quả giả!

Tháng đầu tiên của nhà khoa học dữ liệu trẻ em

Một khóa học trực tuyến thực tế 100%. Mô phỏng 6 tuần trở thành nhà khoa học dữ liệu cơ sở tại một công ty khởi nghiệp giống như thật.

Tìm hiểu thêm …

Giải lao

Có một công cụ luồng điều khiển đặc biệt bằng Python thường rất hữu ích khi sử dụng các câu lệnh if trong vòng lặp for. Và đây là câu lệnh break .

Bạn có thể tìm thấy số có 7 chữ số đầu tiên chia hết cho 137 không? (Cái đầu tiên và duy nhất cái đầu tiên.)

Đây là một giải pháp:

 cho tôi trong phạm vi (0, 10000000, 137):
    if len (str (i)) == 7:
        in (i)
        phá vỡ

Vòng lặp này nhận mỗi số thứ 137 ( cho tôi trong phạm vi (0, 10000000, 137) ) và nó kiểm tra trong mỗi lần lặp xem số đó có 7 chữ số hay không ( if len ( str (i) ) == 7). Khi nó chuyển đến số có 7 chữ số đầu tiên, câu lệnh if sẽ là True và hai điều xảy ra:

  1. print (i) – »Số được in ra màn hình.
  2. break thoát ra khỏi vòng lặp for, vì vậy chúng ta có thể đảm bảo rằng số có 7 chữ số đầu tiên cũng là số có 7 chữ số cuối cùng được in trên màn hình.
Xem Thêm  Cách sao chép bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong SQL Server - sao chép các hàng từ một bảng sang một máy chủ sql khác

python break example

Tìm hiểu thêm về câu lệnh break (và người anh em song sinh của nó: câu lệnh continue ) trong tài liệu gốc của Python3: tại đây .

Lưu ý: bạn có thể giải quyết công việc này một cách dễ dàng hơn với vòng lặp while. Tuy nhiên, tôi chưa viết hướng dẫn về vòng lặp while, đó là lý do tại sao tôi sử dụng giải pháp for loop + break !

Hãy tự kiểm tra!

Đã đến lúc kiểm tra xem bạn đã quản lý thành thạo câu lệnh if, vòng lặp for và sự kết hợp của hai câu lệnh này hay chưa! Hãy thử giải bài tập thử nghiệm nhỏ này!

Tạo tập lệnh Python để tìm ra tuổi của bạn trong tối đa 8 lần thử! Kịch bản chỉ có thể hỏi bạn một loại câu hỏi: đoán tuổi của bạn! (ví dụ: “Bạn có 67 tuổi không?”) Và bạn chỉ có thể trả lời một trong ba lựa chọn sau:

  • ít hơn
  • nhiều hơn
  • đúng
  • Dựa trên câu trả lời của bạn, máy tính có thể đưa ra một phỏng đoán khác cho đến khi tìm ra tuổi chính xác của bạn.

    Lưu ý: để giải quyết công việc này, bạn cũng sẽ phải học một chức năng mới. Đó là hàm input () ! Thông tin thêm: tại đây .

    Sẵn sàng? 3. 2. 1. Đi!

    Giải pháp

    Đây là mã của tôi.

    Lưu ý 1: Người ta cũng có thể giải quyết công việc bằng vòng lặp while. Một lần nữa: vì tôi chưa viết về vòng lặp while nên tôi sẽ chỉ cho bạn giải pháp vòng lặp for.
    Lưu ý 2: Nếu bạn có giải pháp thay thế, vui lòng chia sẻ với tôi qua email! < / p>

     down = 0
    lên = 100
    cho tôi trong phạm vi (1,10):
        responsive_age = int ((lên + xuống) / 2)
        answer = input ('Bạn có phải là' + str (đoán_thức) + "tuổi?")
        nếu câu trả lời == 'đúng':
            print ("Đẹp")
            phá vỡ
        elif answer == 'less':
            up = started_age
        elif answer == 'thêm':
            down = started_age
        khác:
            print ('câu trả lời sai')
    

    Logic của tôi là:
    BƯỚC 1) Tôi đặt phạm vi từ 0 đến 100 và tôi giả định rằng tuổi của “trình phát” sẽ nằm giữa hai giá trị này.
    down = 0
    up = 100

    BƯỚC 2) Tập lệnh luôn hỏi giá trị giữa của dải ô này (đối với lần thử đầu tiên, đó là 50 ):

     started_age = int ((up + down) / 2)
    answer = input ('Bạn có phải là' + str (đoán_thức) + "tuổi?")
    

    BƯỚC 3) Sau khi chúng tôi có câu trả lời “của người chơi”, có bốn trường hợp có thể xảy ra:

    • Nếu tuổi được đoán là chính xác, thì tập lệnh kết thúc và nó trả về một số câu trả lời.
       if answer == 'đúng':
          print ("Đẹp")
          phá vỡ
      
    • Nếu câu trả lời là “ít hơn”, thì chúng tôi bắt đầu lặp lại – nhưng trước đó chúng tôi đặt giá trị lớn nhất của độ tuổi thành độ tuổi được đoán. (Vì vậy, trong lần lặp thứ hai, tập lệnh sẽ đoán giá trị giữa của 0 và 50.)
       elif answer == 'less':
          up = started_age
      
    • Chúng tôi cũng làm như vậy đối với câu trả lời “nhiều hơn” – ngoại trừ trường hợp này, chúng tôi thay đổi giá trị tối thiểu (chứ không phải giá trị tối đa):
       elif answer == 'thêm':
          down = started_age
      
    • Và cuối cùng, chúng tôi xử lý các câu trả lời sai và lỗi chính tả:
       khác:
          print ('câu trả lời sai') 

    python nếu và cho kết hợp - test

    Bạn có tìm thấy giải pháp tốt hơn không?
    Chia sẻ với tôi – gửi email và tôi sẽ xem xét bạn!

    Kết luận

    Bây giờ bạn đã có ý tưởng về:

    • Python lồng vào nhau các vòng lặp for và
    • các vòng lặp for và các câu lệnh if được kết hợp với nhau.

    Chúng không nhất thiết phải được coi là kiến ​​thức cơ bản về Python; điều này giống như một quá trình chuyển đổi sang trình độ trung cấp. Sử dụng chúng đòi hỏi bạn phải có hiểu biết vững chắc về logic của Python3 – và bạn cũng phải luyện tập rất nhiều.

    Chỉ còn hai tập nữa trong loạt bài hướng dẫn Kiến thức cơ bản về khoa học dữ liệu của Python! Hãy tiếp tục và tiếp tục với cơ bản về cú pháp Python !

    • Nếu bạn muốn tìm hiểu thêm về cách trở thành nhà khoa học dữ liệu, hãy tham gia khóa học video dài 50 phút của tôi: Cách trở thành nhà khoa học dữ liệu. (Hoàn toàn miễn phí!)
    • Ngoài ra, hãy xem khóa học trực tuyến kéo dài 6 tuần của tôi: Khóa học video Tháng đầu tiên của Nhà khoa học dữ liệu trẻ em.

    Chúc mừng!
    Tomi


Xem thêm những thông tin liên quan đến chủ đề python cho trong nếu

B7, Python he 2022

alt

  • Tác giả: Ha Bui Viet
  • Ngày đăng: 2022-07-02
  • Đánh giá: 4 ⭐ ( 9290 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Video B7 (ghep 3 video con), 2-7-2022, Python he 2022.

Các loại toán tử trong Python

  • Tác giả: t3h.edu.vn
  • Đánh giá: 4 ⭐ ( 9174 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Toán tử trong Python là một ký hiệu thực hiện một phép toán trên một hoặc nhiều toán hạng. Toán hạng là một biến hoặc một giá trị mà chúng ta thực hiện phép toán.

Cách Sử Dụng Vòng Lặp For Trong Python

  • Tác giả: mci.edu.vn
  • Đánh giá: 4 ⭐ ( 6957 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Định nghĩa về vòng lặp for trong python và cách sử dụng các cú pháp thông dụng của vòng lặp for trong python

Bài 5. Câu lệnh điều kiện if trong Python

  • Tác giả: o2.edu.vn
  • Đánh giá: 5 ⭐ ( 7975 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python hỗ trợ các toán tử logic thông thường trong toán học:

Split Trong Python

  • Tác giả: techacademy.edu.vn
  • Đánh giá: 3 ⭐ ( 1250 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python là ngôn ngữ lập trình có nhiều kiểu dữ liệu khác nhau trong đó bao gồm các chuỗi – string. Mặc dù chuỗi là một thành phần bất biến, chúng ta vẫn có thể thực hiện thao tác trên một chuỗi string sử dụng hàm split. Hàm này sẽ chia nhỏ các chuỗi lớn […]

Regex trong Python

  • Tác giả: hiepsiit.net
  • Đánh giá: 3 ⭐ ( 2615 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lệnh if, if…else, if…elif…else trong Python

  • Tác giả: quantrimang.com
  • Đánh giá: 3 ⭐ ( 9584 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lệnh if trong Python là một trong những lệnh phổ biến và dễ học nhất. Ngoài if còn có if else, if elif else. Hãy cùng tìm hiểu chi tiết và xem ví dụ về các lệnh if này nhé.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Các câu lệnh có điều kiện trong Java - câu lệnh điều kiện trong java