Tôi có thể sử dụng và điều kiện trong vòng lặp for trong Python không?
Lần trước tôi đã viết về Python cho Vòng lặp và Câu lệnh If. 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 một vòng lặp for với một vòng lặp for khác và/hoặc với một câu lệnh if Show
Ghi chú. Đây là một hướng dẫn thực hành. Tôi thực sự khuyên bạn nên thực hiện phần mã hóa 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, vui lòng xem qua các bài viết này trước
Lưu ý 2. Trên thiết bị di động, các ngắt dòng của đoạn mã có thể trông khó hiểu. Nhưng nếu bạn sao chép-dán chúng vào Jupyter Notebook của mình, bạn sẽ thấy các ngắt dòng thực tế rõ ràng hơn nhiều
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 bảo mật của Data36. (Không có thư rác. Chỉ nội dung liên quan đến khoa học dữ liệu hữu ích. 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 viết, khóa học, trang tính, hướng dẫn và nhiều nội dung thú vị. ) Đươc phép truy cập bây giờ Có thể bạn quan tâmVòng lặp for trong vòng lặp for – hay còn gọi là vòng lặp for lồng nhauDự á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, rồi 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 chia thành ba loại. 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 danh sách”) my_movies = [['How I Met Your Mother', 'Friends', 'Silicon Valley'], ['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 từng kết quả ra màn hình của bạn, ở định dạng này for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")0 Bạn làm điều đó như thế nào? for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.") Ghi chú. hãy nhớ rằng for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")2 là một hàm Python có 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 biến nó thành một chuỗi. Tôi đã viết về điều này trong hướng dẫn Python For Loops trước đó Tôi biết, Python cho các vòng lặp có thể khó hiểu lần đầu tiên… Các vòng lặp for lồng nhau thậm chí còn khó hơn. Nếu bạn gặp khó khăn trong việc hiểu chính xác những gì đang xảy ra ở trên, hãy lấy bút và giấy và cố gắng mô phỏng toàn bộ kịch bản như thể bạn là máy tính — đi qua vòng lặp của bạn từng bước và viết ra kết quả Còn một điều nữa. Câu lệnh if trong vòng lặp forBê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 xin việc nhà khoa học dữ liệu mới vào nghề Nhiệm vụ là. Đây là giải pháp for i in range(100): if i % 3 == 0 and i % 5 == 0: print('fizzbuzz') elif i % 3 == 0: print('fizz') elif i % 5 == 0: print('buzz') else: print('-') Như bạn có thể thấy, một câu lệnh if trong vòng lặp for là hoàn hảo để đánh giá 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ẻ cho chúng hoặc áp dụng các hàm trên chúng – hoặc chỉ đơn giản là in 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 khoảng thụt đầu dòng vì nếu đặt sai chỗ, bạn có thể nhận được lỗi hoặc kết quả giả mạo.
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ấp dưới tại một công ty khởi nghiệp thực tế “Giải quyết các vấn đề thực tế, có được trải nghiệm thực tế - giống như trong một công việc khoa học dữ liệu thực sự. ” Tìm hiểu thêm Phá vỡCó một công cụ luồng điều khiển đặc biệt trong Python khá hữu ích khi sử dụng các câu lệnh if bên trong vòng lặp for. Và đây là câu lệnh for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")3 Bạn có tìm được số có 7 chữ số đầu tiên chia hết cho 137 không? . ) Đây là một giải pháp for i in range(0, 10000000, 137): if len(str(i)) == 7: print(i) break Vòng lặp này lấy mọi số thứ 137 ( for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")4) và nó sẽ kiểm tra trong mỗi lần lặp xem số đó có 7 chữ số hay không ( for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")5) == 7). Khi đến số có 7 chữ số đầu tiên, câu lệnh if sẽ là for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")6 và có hai điều xảy ra
Tìm hiểu thêm về câu lệnh for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")3 (và người anh em sinh đôi của nó. câu lệnh for i in range(100): if i % 3 == 0 and i % 5 == 0: print('fizzbuzz') elif i % 3 == 0: print('fizz') elif i % 5 == 0: print('buzz') else: print('-')0) trong tài liệu Python3 gốc. nơi đây Ghi chú. bạn có thể giải quyết công việc này một cách tinh tế hơn bằng vòng lặp while. Tuy nhiên, tôi vẫn chưa viết hướng dẫn về vòng lặp while, đó là lý do tại sao tôi chọn giải pháp vòng lặp for + for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")3 Tự kiểm traĐã đến lúc kiểm tra xem bạn đã thành thạo câu lệnh if, vòng lặp for và sự kết hợp của hai điều này chưa. Hãy thử giải bài tập kiểm tra nhỏ này Tạo tập lệnh Python tìm ra tuổi của bạn sau 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. (e. g. “Bạn 67 tuổi phải không?”) Và bạn chỉ có thể trả lời một trong ba lựa chọn này
Dựa trên câu trả lời của bạn, máy tính có thể đưa ra một dự đoán khác cho đến khi tìm ra tuổi chính xác của bạn Ghi chú. để giải quyết nhiệm vụ này, bạn cũng sẽ phải học một chức năng mới. Đó là hàm for i in range(100): if i % 3 == 0 and i % 5 == 0: print('fizzbuzz') elif i % 3 == 0: print('fizz') elif i % 5 == 0: print('buzz') else: print('-')2. Thêm thông tin. nơi đây Sẳn sàng? . 2. 1. Đi Dung dịchĐây là mã của tôi Ghi chú 1. Người ta cũng có thể giải quyết nhiệm vụ bằng vòng lặp while. Lại. 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. for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")7 Logic của tôi đi. for i in range(100): if i % 3 == 0 and i % 5 == 0: print('fizzbuzz') elif i % 3 == 0: print('fizz') elif i % 5 == 0: print('buzz') else: print('-')4 BƯỚC 2) Tập lệnh luôn hỏi giá trị trung bình của phạm vi này (đối với lần thử đầu tiên, đó là for i in range(100): if i % 3 == 0 and i % 5 == 0: print('fizzbuzz') elif i % 3 == 0: print('fizz') elif i % 5 == 0: print('buzz') else: print('-')5) for sublist in my_movies: for movie_name in sublist: char_num = len(movie_name) print("The title " + movie_name + " is " + str(char_num) + " characters long.")1 BƯỚC 3) Khi chúng tôi có câu trả lời của “người chơi”, có bốn tình huống có thể xảy ra
Bạn có tìm thấy giải pháp nào tốt hơn không? Sự kết luậnBây giờ bạn đã có ý tưởng về
Chúng không nhất thiết phải được coi là những kiến thức cơ bản về Python; . Sử dụng chúng đòi hỏi sự hiểu biết vững chắc về logic của Python3 – và cũng phải thực hành rất nhiều Chỉ còn hai tập nữa trong loạt bài hướng dẫn Cơ bản về Python cho Khoa học dữ liệu. Hãy tiếp tục và tiếp tục với các yếu tố cần thiết của cú pháp Python Chúng ta có thể sử dụng và điều kiện trong vòng lặp for không?Chúng ta có thể sử dụng && trong vòng lặp while không? . Yes you can use two condition in while using logical &&, || . Như trong câu lệnh trên, hai điều kiện đang được kiểm tra đó là vòng lặp while sẽ chạy khi strength nhỏ hơn 100 hoặc ht phải lớn hơn 10. Chúng tôi cũng có thể sử dụng và (&&) theo tình huống.
Chúng ta có thể sử dụng && trong vòng lặp while không?Sử dụng toán tử logic trong vòng lặp while
. - HOẶC(. ), vòng lặp này sẽ chạy cho đến khi cả hai điều kiện trả về false. – Ở đây chúng ta đang sử dụng hai toán tử logic NOT (. ) và và(&&). using AND(&&) operator, which means both the conditions should be true. – OR(||) operator, this loop will run until both conditions return false. – Here we are using two logical operators NOT (!) and AND(&&).
Chúng ta có thể sử dụng điều kiện trong vòng lặp for trong Python không?Nhưng Python cũng cho phép chúng ta sử dụng điều kiện khác với vòng lặp for . Khối other ngay sau for/while chỉ được thực thi khi vòng lặp KHÔNG bị kết thúc bởi câu lệnh break.
Bạn có thể có 2 điều kiện trong vòng lặp while không?Sử dụng nhiều điều kiện
. Ghi chú. Điều kiện AND phải được đáp ứng để vòng lặp chạy. Tuy nhiên, nếu một trong hai điều kiện ở phía OR của toán tử trả về true , thì vòng lặp sẽ chạy. the while loop has two conditions, one using the AND operator and the other using the OR operator. Note: The AND condition must be fulfilled for the loop to run. However, if either of the conditions on the OR side of the operator returns true , the loop will run. |