Vòng lặp while trong python 3

Ngoài thủ thuật sử dụng câu lệnh

1
2
3
4
3 bên trong vòng lặp
1
2
3
4
4, tất cả các vòng lặp cho đến nay đều đi qua một danh sách đã chỉ định. Trong mọi trường hợp, vòng lặp
1
2
3
4
4 đã yêu cầu sử dụng một danh sách cụ thể. Điều này thường quá hạn chế. Vòng lặp Python
1
2
3
4
2 hoạt động khá giống với cách sử dụng tiếng Anh phổ biến. Nếu tôi nói

Trong khi trà của bạn quá nóng, hãy thêm một viên đá

Có lẽ bạn sẽ kiểm tra trà của bạn. Nếu quá nóng, bạn có thể thêm một ít đá. Nếu test lại mà vẫn nóng quá thì cho thêm đá vào. Chỉ cần bạn test và thấy đúng là trà của bạn quá nóng, bạn sẽ quay lại thêm đá. Python có cú pháp tương tự

1
2
3
4
2 điều kiện
1
2
3
4
8indentedBlock

Thiết lập ví dụ tiếng Anh ở định dạng tương tự sẽ là

trong khi trà của bạn quá nóng. thêm một viên đá

Để làm cho mọi thứ trở nên cụ thể và bằng số, giả sử như sau. Trà bắt đầu ở 115 độ F. Bạn muốn nó ở 112 độ. Một mảnh băng hóa ra làm giảm nhiệt độ một độ mỗi lần. Bạn kiểm tra nhiệt độ mỗi lần và cũng in ra nhiệt độ trước khi giảm nhiệt độ. Trong Python, bạn có thể viết và chạy mã bên dưới, được lưu trong chương trình ví dụ tuyệt vời. py

1
2
3
4
5
6

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')

Tôi đã thêm một dòng cuối cùng sau vòng lặp while để nhắc bạn rằng việc thực thi sẽ diễn ra tuần tự sau khi một vòng lặp hoàn thành

Nếu bạn chơi máy tính và theo đường dẫn thực hiện, bạn có thể tạo ra bảng sau. Hãy nhớ rằng mỗi khi bạn đi đến cuối khối thụt vào sau tiêu đề

1
2
3
4
2, việc thực thi sẽ quay trở lại tiêu đề
1
2
3
4
2 cho một thử nghiệm khác

LinetemperatureComment1115 2 115 > 112 là true, loop3 in 1154114115 - 1 là 114, loop back2 114 > 112 là true, loop3 in 1144113114 - 1 là 113, loop back2 113 > 112 là true, loop3 in 1134112113 - 1 là 112

Mỗi khi đạt đến phần cuối của phần thân vòng lặp thụt lề, quá trình thực thi sẽ quay lại tiêu đề vòng lặp

1
2
3
4
2 cho một thử nghiệm khác. Khi kiểm tra cuối cùng là sai, quá trình thực thi sẽ nhảy qua phần thân thụt lề của vòng lặp
1
2
3
4
2 tới câu lệnh tuần tự tiếp theo

Một vòng lặp

1
2
3
4
2 thường tuân theo mô hình của vòng lặp sửa đổi liên tiếp được giới thiệu với mỗi vòng lặp
1
2
3
4
4

khởi tạo

________ 02 tiếp diễn Điều kiện _______ 08

làm hành động chính được lặp đi lặp lại

chuẩn bị các biến cho lần tiếp theo thông qua vòng lặp

Tự kiểm tra. Theo mã. Tìm ra những gì được in.

1
2
3
4
6

Tự kiểm tra bằng cách chạy chương trình ví dụ

1
2
3
4
77

Ghi chú

Trong Python,

1
2
3
4
2 không được sử dụng giống như trong tiếng Anh. Trong tiếng Anh, bạn có thể có nghĩa là dừng ngay khi điều kiện bạn muốn kiểm tra trở thành sai. Trong Python, kiểm tra chỉ được thực hiện khi vòng lặp bắt đầu (hoặc bắt đầu lại), không phải ở giữa vòng lặp

Dự đoán điều gì sẽ xảy ra với sự thay đổi nhỏ này trong ví dụ trước, thay đổi thứ tự trong phần thân vòng lặp. Làm theo nó một cách cẩn thận, từng bước một

1
2
3
4

1
2
3
4
7

Tự kiểm tra bằng cách chạy chương trình ví dụ

1
2
3
4
79

Trình tự trình tự là quan trọng. Biến

1
2
3
4
20 được tăng lên trước khi nó được in ra, vì vậy số đầu tiên được in ra là 6. Một lỗi phổ biến khác là cho rằng 10 sẽ không được in, vì 10 đã qua 9, nhưng phép thử có thể dừng vòng lặp không được thực hiện ở giữa vòng lặp. Khi phần thân của vòng lặp được bắt đầu, nó sẽ tiếp tục cho đến hết, ngay cả khi
1
2
3
4
20 trở thành 10

LineiComment14 2 4 < 9 là đúng, do loop364+2=64 in 62 6 < 9 là đúng, do loop386+2= 84 in 82 8 < 9 là đúng, do loop3108+2=10 Không kiểm tra ở đây4 in 102 10 < 9

Dự đoán những gì xảy ra trong chương trình nhỏ liên quan này

1
2
3
4
2

Tự kiểm tra bằng cách chạy chương trình ví dụ

1
2
3
4
22

3. 3. 2. Hàm 1 2 3 423 chung nhất

Thực sự có một cách đơn giản hơn nhiều để tạo các chuỗi trước đó như trong

1
2
3
4
22, sử dụng một biến thể khác của hàm
1
2
3
4
23. Nhập các dòng này một cách riêng biệt trong Shell. Như trong các ứng dụng đơn giản hơn của
1
2
3
4
23, các giá trị chỉ được tạo mỗi lần một giá trị, khi cần. Để xem toàn bộ chuỗi cùng một lúc, hãy chuyển đổi chuỗi thành danh sách trước khi in

1
2
3
4
0

Tham số thứ ba cho hàm phạm vi là kích thước bước. Cần thiết khi kích thước bước từ phần tử này sang phần tử tiếp theo không phải là 1

Cú pháp chung nhất là

________ 227 bắt đầu ________ 228 quá khứKết thúc ________ 228 bước ________ 300

Giá trị của tham số thứ hai luôn vượt qua phần tử cuối cùng của danh sách. Mỗi phần tử sau phần tử đầu tiên trong danh sách nhiều hơn phần tử trước đó. Dự đoán và thử trong Shell

1
2
3
4
5

Trên thực tế, hàm phạm vi thậm chí còn phức tạp hơn so với chỉ ra bởi vòng lặp

1
2
3
4
2 ở trên. Kích thước bước có thể âm. Thử trong Shell

1
2
3
4
7

Bạn có thấy số 0 ở cuối danh sách không?

Thử nó. Thực hiện lệnh gọi hàm

1
2
3
4
23 để tạo danh sách nhiệt độ được in trong ví dụ về trà,
1
2
3
4
03. Kiểm tra nó trong Shell

Các phạm vi này, giống như các phạm vi đơn giản hơn mà chúng tôi đã sử dụng trước đó, thường được sử dụng làm trình tự trong tiêu đề vòng lặp

1
2
3
4
4

1
2
3
4
1

3. 3. 3. Vòng lặp 1 2 3 42 tương tác

Các ví dụ trước đây về vòng lặp while được chọn vì tính đơn giản của chúng. Rõ ràng là chúng có thể đã được viết lại bằng các lệnh gọi hàm phạm vi. Bây giờ hãy thử một ví dụ thú vị hơn. Giả sử bạn muốn cho phép người dùng nhập một chuỗi các dòng văn bản và muốn ghi nhớ từng dòng trong một danh sách. Điều này có thể dễ dàng thực hiện với một vòng lặp đơn giản nếu bạn biết số dòng cần nhập. Ví dụ: trong

1
2
3
4
06, người dùng được nhắc nhập số dòng chính xác

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
0

Người dùng có thể muốn nhập một loạt các dòng và không đếm trước tất cả. Điều này có nghĩa là số lần lặp lại sẽ không được biết trước. Một vòng lặp

1
2
3
4
2 thích hợp ở đây. Vẫn còn câu hỏi làm thế nào để kiểm tra xem người dùng có muốn tiếp tục hay không. Một cách rõ ràng nhưng dài dòng để thực hiện việc này là hỏi trước mỗi dòng xem người dùng có muốn tiếp tục không, như minh họa bên dưới và trong tệp ví dụ
1
2
3
4
08. Đọc nó và sau đó chạy nó

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
1

Xem hai câu lệnh thiết lập

1
2
3
4
09. một trước vòng lặp
1
2
3
4
2 và một ở dưới cùng của thân vòng lặp

Ghi chú

Dữ liệu phải được khởi tạo trước vòng lặp, để thử nghiệm đầu tiên của điều kiện trong khi hoạt động. Ngoài ra, bài kiểm tra phải hoạt động khi bạn lặp lại từ phần cuối của thân vòng lặp. Điều này có nghĩa là dữ liệu cho thử nghiệm cũng phải được thiết lập lần thứ hai, trong phần thân vòng lặp (thường là hành động ở dòng cuối cùng của vòng lặp). Thật dễ dàng để quên lần thứ hai

1
2
3
4
08 hoạt động, nhưng nó có thể khó chịu hơn là đếm trước. Phải nhập hai dòng cho mỗi dòng bạn thực sự muốn. Một giải pháp thay thế thực tế là sử dụng lính canh. một phần dữ liệu sẽ không có ý nghĩa trong chuỗi thông thường và được sử dụng để chỉ ra phần cuối của đầu vào. Bạn có thể đồng ý sử dụng dòng
1
2
3
4
52 Thậm chí đơn giản hơn. nếu bạn cho rằng tất cả các dòng dữ liệu thực sự sẽ thực sự có một số văn bản trên chúng, hãy sử dụng một dòng trống làm lính canh. (Nếu bạn nghĩ về nó, Python Shell sử dụng phương pháp này khi bạn nhập một câu lệnh có phần thân thụt vào. ) Cách này bạn chỉ cần nhập thêm 1 dòng (rất đơn giản) dù số liệu thực bao nhiêu dòng

Điều kiện trong khi bây giờ nên là gì? . Bạn cần điều kiện ngược lại. Để phủ nhận một điều kiện trong Python, bạn có thể sử dụng

1
2
3
4
54, giống như trong tiếng Anh,

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
2

Tất nhiên trong tình huống này có một cách ngắn hơn,

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
3

Chạy chương trình ví dụ

1
2
3
4
55, hiển thị bên dưới

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
4

Một lần nữa, dữ liệu cho thử nghiệm trong tiêu đề vòng lặp while phải được khởi tạo trước khi câu lệnh

1
2
3
4
2 được thực thi lần đầu tiên và dữ liệu thử nghiệm cũng phải sẵn sàng bên trong vòng lặp để thử nghiệm sau khi phần thân đã thực thi. Do đó, bạn thấy các câu lệnh đặt biến
1
2
3
4
57 ở cả trước vòng lặp và ở cuối thân vòng lặp. Thật dễ dàng để quên vị trí thứ hai trong vòng lặp

Sau khi đọc phần còn lại của đoạn này, hãy nhận xét dòng cuối cùng của vòng lặp và chạy lại. Nó sẽ không bao giờ dừng lại. Biến

1
2
3
4
57 sẽ mãi mãi có giá trị ban đầu mà bạn đã cho nó. Bạn thực sự có thể dừng chương trình bằng cách nhập
1
2
3
4
59. Điều đó có nghĩa là giữ phím
1
2
3
4
70 và nhấn
1
2
3
4
71

Ghi chú

Khi bạn hoàn thành mã hóa một vòng lặp

1
2
3
4
2, bạn nên luôn kiểm tra kỹ. Tôi có thực hiện thay đổi đối với các biến, bên trong vòng lặp, mà cuối cùng sẽ làm cho điều kiện vòng lặp trở thành
1
2
3
4
73 không?

Các ví dụ vòng lặp

1
2
3
4
2 sớm nhất có các bài kiểm tra số và mã để sẵn sàng cho vòng lặp tiếp theo chỉ cần tăng một biến số theo một lượng cố định. Đó là những ví dụ đơn giản nhưng vòng lặp
1
2
3
4
2 tổng quát hơn nhiều. Trong vòng lặp tương tác, chúng ta đã thấy điều kiện tiếp tục với kiểm tra chuỗi và sẵn sàng cho lần tiếp theo thông qua vòng lặp liên quan đến đầu vào từ người dùng

Một số bài tập sau đây liên quan đến các vòng lặp while tương tác. Những người khác đã bị trì hoãn cho đến đây chỉ vì họ có nhiều bài kiểm tra điều kiện tiếp tục hơn và các cách để chuẩn bị cho lần tiếp theo thông qua vòng lặp. Điều nhất quán là các bước chung để suy nghĩ và các câu hỏi để tự hỏi mình. Họ tiếp tục áp dụng. Hãy ghi nhớ những điều này

  • nhu cầu xem liệu có kiểu lặp lại hay không, ngay cả khi không có tập hợp giá trị cố định để xử lý
  • suy nghĩ từ tình huống cụ thể và tìm ra điều kiện tiếp tục phù hợp với vòng lặp của bạn
  • để nghĩ xem bạn muốn xử lý hoặc kết quả cụ thể nào mỗi lần qua vòng lặp, sử dụng cùng một mã
  • để tìm ra mã hỗ trợ nào bạn cần để sẵn sàng cho lần tiếp theo thông qua vòng lặp. cách làm cho cùng một mã kết quả có các giá trị dữ liệu mới để xử lý mỗi lần và cuối cùng đạt đến điểm dừng

Phát hiện sự cần thiết của câu lệnh

1
2
3
4
2. Giống như với các chương trình lập kế hoạch cần các câu lệnh``for`` hoặc
1
2
3
4
77, bạn muốn có thể dịch các mô tả vấn đề bằng tiếng Anh mà đương nhiên sẽ bao gồm các câu lệnh
1
2
3
4
2. Một số từ hoặc cụm từ hoặc ý tưởng gợi ý việc sử dụng các câu này là gì? .

3. 3. 3. 1. Bài tập tính tổng tương tác

Viết chương trình

1
2
3
4
79 nhắc người dùng nhập các số, mỗi số một dòng, kết thúc bằng một dòng chỉ chứa 0 và ghi tổng các số. Chỉ in ra tổng sau khi đã nhập tất cả các số (ít nhất là trong phiên bản cuối cùng của bạn). Không tạo danh sách. Mỗi khi bạn đọc một số, bạn có thể ngay lập tức sử dụng số đó để tính tổng và sau đó thực hiện với số vừa nhập

3. 3. 3. 2. Bài tập nhập số an toàn

* Có vấn đề với việc đọc số với câu lệnh đầu vào. Nếu bạn mắc lỗi đánh máy và nhập thứ gì đó không thể chuyển đổi từ một chuỗi thành đúng loại số, một chương trình ngây thơ sẽ đánh bom. Điều này có thể tránh được nếu bạn kiểm tra chuỗi và lặp lại nếu chuỗi không hợp lệ. Trong bài tập này, hãy viết các thay thế hàm tiện ích an toàn cho hàm đầu vào hoạt động để đọc số nguyên, số nguyên hoặc số thập phân

Tất cả các phần tham khảo phần trước. Phần một. đề cập đến phần giới thiệu trong bài tập trước. Phần b. và C. tham khảo các chức năng trong giải pháp,

1
2
3
4
10, của bài tập trước. Hãy chắc chắn rằng bạn nhìn lại những thứ này trước

Lưu ví dụ

1
2
3
4
11 dưới dạng
1
2
3
4
12 và hoàn thành. Nó chứa các tiêu đề và chuỗi tài liệu cho các chức năng trong mỗi phần của bài tập này

  1. Phần này xem xét trường hợp đơn giản nhất, khi bạn đang cố gắng nhập một số nguyên. Hoàn thành định nghĩa của hàm
    1
    2
    3
    4
    13
  2. Hoàn thành chức năng
    1
    2
    3
    4
    14. Điều này dễ dàng tương đồng với phần a. nếu bạn sao chép và sử dụng hàm (không phải phương thức)
    1
    2
    3
    4
    15
  3. Hoàn thành chức năng
    1
    2
    3
    4
    16. Điều này dễ dàng tương đồng với phần b. nếu bạn sao chép và sử dụng chức năng
    1
    2
    3
    4
    17

3. 3. 3. 3. tiết kiệm tập thể dục

Ý tưởng ở đây là xem tài khoản ngân hàng sẽ mất bao nhiêu năm để tăng lên ít nhất một giá trị nhất định, giả sử lãi suất cố định hàng năm. Viết chương trình

1
2
3
4
18. Nhắc người dùng cho ba số. số dư ban đầu, tỷ lệ phần trăm hàng năm cho tiền lãi dưới dạng số thập phân, như. 04 cho 4% và số dư cuối cùng mong muốn

Tất cả số tiền bạn in phải được làm tròn chính xác đến hai chữ số thập phân. Bắt đầu bằng cách in số dư ban đầu theo cách này. Ví dụ: nếu số dư ban đầu được nhập là 123. 5, nó sẽ được chương trình của bạn in lại thành 123. 50. Đồng thời in số dư mỗi năm cho đến khi đạt hoặc vượt qua số tiền mong muốn. Số dư đầu tiên tại hoặc vượt qua mục tiêu phải là số dư cuối cùng được in

toán học. Số tiền trong năm tới bằng số tiền hiện tại nhân (1 + phần lãi suất), vì vậy nếu tôi có 500 đô la bây giờ và lãi suất là. 04, tôi có $500*(1. 04) = $520 sau một năm và sau hai năm tôi có $520*(1. 04) = $540. 80

Ví dụ: nếu tôi trả lời các lời nhắc và nhập vào chương trình số dư ban đầu là 500 đô la,. 04 lãi suất và mục tiêu là $550, chương trình in

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
5

3. 3. 3. 4. Bài Tập Trình Tự Kỳ Lạ

* Nhớ lại và

1
2
3
4
19 của nó có chứa chức năng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
00. Với mọi số nguyên n, jump(n) là n//2 nếu n chẵn và 3*n+1 nếu n lẻ

Bạn có thể bắt đầu với một số, chẳng hạn n = 3, và tiếp tục áp dụng hàm nhảy cho số cuối cùng đã cho và xem các số nhảy xung quanh như thế nào

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
6

Quá trình áp dụng lặp đi lặp lại cùng một chức năng cho kết quả gần đây nhất được gọi là lặp lại chức năng. Trong trường hợp này, bạn thấy rằng việc lặp lại hàm nhảy, bắt đầu từ n=3, cuối cùng đạt đến giá trị 1

Đây là một câu hỏi nghiên cứu mở liệu việc lặp lại hàm nhảy từ một số nguyên n cuối cùng có đạt tới 1 hay không, với mọi số nguyên bắt đầu n lớn hơn 1. Các nhà nghiên cứu chỉ tìm thấy các ví dụ về n khi nó đúng. Tuy nhiên, không có lập luận chung nào được đưa ra để áp dụng cho vô số các số nguyên bắt đầu có thể

Trong bài tập này, bạn lặp lại hàm nhảy cho các giá trị bắt đầu cụ thể n, cho đến khi kết quả là 1

  1. Lưu ví dụ

    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    01 thành
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    02 và hoàn thành các phần chức năng còn thiếu. Nếu bạn đã mã hóa chức năng
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    00 trước đó trong
    1
    2
    3
    4
    19, bạn có thể sao chép nó. Bạn có thể hoàn thành
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    05 hoặc
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    06 trước và kiểm tra trước khi hoàn thành phần còn lại. Gợi ý

  2. Sau khi bạn hoàn thành và lưu

    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    02, hãy sao chép nó và lưu tệp dưới dạng
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    08

    Trước tiên, sửa đổi phương thức chính để nó nhắc người dùng về giá trị n, sau đó chỉ in độ dài của chuỗi lặp từ listJumps(n). Gợi ý

    Sau đó xây dựng chương trình để nó nhắc người dùng về hai số nguyên. giá trị bắt đầu thấp nhất của n và giá trị bắt đầu cao nhất của n. Đối với tất cả các số nguyên n trong phạm vi từ điểm bắt đầu thấp nhất đến điểm bắt đầu cao nhất, bao gồm cả điểm cao nhất, in ra một câu cho biết giá trị bắt đầu của n và độ dài của danh sách từ

    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    09. Một ví dụ chạy

    Nhập xuất phát điểm thấp nhất. 3

    Nhập điểm xuất phát cao nhất. 6

    Bắt đầu từ 3, nhảy trình tự dài 8

    Bắt đầu từ 4, nhảy trình tự dài 3

    Bắt đầu từ 5, nhảy trình tự dài 6

    Bắt đầu từ 6, nhảy trình tự dài 9

3. 3. 4. Ứng dụng đồ họa

Một nơi khác mà vòng lặp

1
2
3
4
2 có thể hữu ích là trong đồ họa tương tác. Giả sử bạn muốn người dùng có thể tạo Đa giác bằng cách nhấp vào các đỉnh họ chọn một cách tương tác, nhưng bạn không muốn họ phải đếm trước số lượng đỉnh. Vòng lặp
1
2
3
4
2 được đề xuất cho quy trình lặp đi lặp lại như vậy. Như với việc nhập các dòng văn bản một cách tương tác, có một câu hỏi đặt ra là làm thế nào để cho biết bạn đã hoàn thành (hoặc làm thế nào để cho biết tiếp tục). Nếu bạn chỉ cho phép một khu vực nhất định đối với Đa giác, thì trọng điểm có thể là một cú nhấp chuột bên ngoài khu vực. Ví dụ về lựa chọn màu tương tác trước đó đã có một phương pháp để kiểm tra xem một cú nhấp chuột có nằm trong Hình chữ nhật hay không, vì vậy phương pháp đó có thể được sao chép và sử dụng lại

Tạo đa giác là một hoạt động thống nhất với kết quả rõ ràng, vì vậy hãy xác định một chức năng. Nó liên quan đến một hình chữ nhật ranh giới và nhấp chuột trong GraphWin và cũng có thể trả lại Đa giác được tạo. Đọc phần bắt đầu sau

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
7

Sẽ rất hữu ích khi bắt đầu bằng cách nghĩ về những đồ vật cần thiết và đặt tên cho chúng.

  • Một đa giác là cần thiết. Gọi nó là
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    12
  • Một danh sách các đỉnh là cần thiết. Gọi nó là
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    13. Tôi cần thêm vào danh sách này. Nó phải được khởi tạo trước
  • Điểm click chuột mới nhất là cần thiết. Gọi nó là
    temperature = 115  
    while temperature > 112: # first while loop code
        print(temperature)
        temperature = temperature - 1
    
    print('The tea is cool enough.')
    
    14

Chắc chắn toàn bộ quá trình sẽ lặp đi lặp lại, chọn hết điểm này đến điểm khác. Tuy nhiên, có thể không rõ ràng về cách tạo một vòng lặp Python hiệu quả. Trong những tình huống thử thách như thế này, thường rất hữu ích khi hình dung một tình huống cụ thể với một số bước hạn chế, vì vậy mỗi bước có thể được viết theo trình tự mà không lo bị lặp

Ví dụ: để có được một hình tam giác (3 đỉnh trong danh sách của chúng tôi và lần nhấp chuột thứ tư cho lính canh), bạn có thể tưởng tượng trình tự sau, hủy vẽ từng đa giác cũ trước khi hình tiếp theo được hiển thị với lần nhấp chuột mới nhất bao gồm

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
8

Có một điểm tốt ở đây mà tôi đã bỏ lỡ lần đầu tiên. Các đỉnh của Đa giác hiện có không bị thay đổi trong hệ thống này. Mỗi lần tạo một Đa giác mới với danh sách đỉnh mới. Đa giác cũ không tự động biến mất và các đường không liên quan sẽ xuất hiện trong ảnh nếu đa giác cũ không được hoàn tác rõ ràng mỗi lần trước khi một phiên bản mới được vẽ lại với một đỉnh phụ. Đa giác cuối cùng mà bạn vẽ sẽ hiển thị ở cuối, vì vậy trong ví dụ trên khi tôi giả sử lần nhấp thứ ba là lần nhấp cuối cùng cho hình tam giác, tôi đã không

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 Đa giác

Thời gian cho mỗi

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 cần phải sau lần nhấp chuột tiếp theo và có lẽ là trước khi Đa giác sửa đổi được tạo, do đó, nó có thể trước hoặc sau dòng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
17. Tôi tự ý chọn cho nó đi trước khi danh sách đỉnh bị thay đổi. Phần còn lại của thứ tự các dòng được cố định khá tốt theo logic cơ bản

Nếu bạn nghĩ về sự lặp lại thông qua một số lượng lớn các vòng lặp, thì quy trình này về cơ bản là vòng tròn (như được gợi ý bởi từ 'vòng lặp'). Tuy nhiên, phần thân của một vòng lặp trong Python được viết dưới dạng một chuỗi tuyến tính. một với dòng đầu tiên và dòng cuối cùng, bắt đầu và kết thúc. Chúng ta có thể cắt một vòng tròn ở bất cứ đâu để có được một mảnh có đầu và cuối. Trong thực tế, nơi bạn cắt vòng lặp cho Python có một ràng buộc chính. Quá trình xử lý trong Python từ cuối một lần qua vòng lặp đến đầu vòng lặp tiếp theo được phân tách bằng phép thử điều kiện trong tiêu đề. Điều kiện tiếp nối trong tiêu đề

1
2
3
4
2 phải có ý nghĩa khi bạn cắt vòng lặp

Có thể hữu ích khi xem xét một chuỗi ví dụ cụ thể, chẳng hạn như các bước được liệt kê ở trên để tạo một hình tam giác, chỉ bây giờ giả sử rằng chúng ta không biết có bao nhiêu đỉnh sẽ được chọn. Điều kiện tiếp tục là để

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 nằm trong hình chữ nhật, do đó, sử dụng hàm đã viết trước đó
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
20, tiêu đề vòng lặp sẽ là

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
9

Với điều kiện này trong tâm trí, hãy tìm nơi để tách thành vòng lặp. Nó cần phải sau khi nhấp vào một

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 mới (để có thể kiểm tra nó) và trước khi Đa giác tiếp theo được tạo (vì vậy nó không bao gồm nhầm điểm canh gác). Đặc biệt, với trình tự trên, hãy xem và thấy rằng sự phân tách có thể xảy ra trước hoặc sau dòng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
22. xem xét trường hợp phần tách đi trước dòng này. Tôi sẽ tiến hành lựa chọn tách thành vòng lặp Python sau dòng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15. Điều này làm cho vòng lặp được

1
2
3
4
60

Nếu bạn làm theo toàn bộ trình tự các bước cần thiết ở trên để tạo tam giác cụ thể, bạn sẽ thấy rằng trình tự đầy đủ này cho vòng lặp chỉ được lặp lại hai lần. Lần cuối cùng không có bước

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
22. Tôi có thể làm lại vòng lặp di chuyển đường rút lên trên cùng, điều này gây ra các vấn đề khác nhau ( bên dưới). Thay vào đó, hãy nghĩ cách làm cho nó hoạt động vào cuối thời gian cuối cùng thông qua vòng lặp

Có một số cách tiếp cận có thể. Bạn muốn dòng

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 mọi lúc trừ lần cuối cùng. Do đó, đôi khi bạn muốn một tuyên bố chứ không phải những người khác. Điều đó gợi ý một tuyên bố
1
2
3
4
77. Thời gian bạn muốn
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 là khi vòng lặp sẽ lặp lại. Điều này giống như điều kiện tiếp tục của vòng lặp và bạn vừa đọc giá trị tiếp theo cho
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14. Bạn chỉ có thể thêm một điều kiện trước dòng cuối cùng của vòng lặp

1
2
3
4
61

Tôi thấy tùy chọn này không thẩm mỹ. nó có nghĩa là sao chép bài kiểm tra tiếp tục hai lần trong mỗi vòng lặp

Thay vì tránh

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 khi bạn thoát khỏi vòng lặp, một tùy chọn khác trong trường hợp này là hoàn tác nó. chỉ cần vẽ lại đa giác một lần cuối cùng ngoài vòng lặp. Điều này chỉ cần được thực hiện một lần, không lặp lại trong vòng lặp. Sau đó, các dòng lặp lại thu gọn gọn gàng vào vòng lặp

Nếu bạn nhìn vào trình tự bê tông tổng thể cho hình tam giác, không phải tất cả các đường đều nằm trong vòng lặp. Bạn phải cẩn thận bao gồm cả các dòng xuất hiện trước vòng lặp và những dòng xuất hiện sau vòng lặp. Đảm bảo rằng các dòng này không được đặt trong vòng lặp mà ở trước hoặc sau, như được chỉ ra bởi trình tự cụ thể trong ví dụ. Cuối cùng, toàn bộ chức năng là

1
2
3
4
62

Hãy chắc chắn rằng bạn hiểu. Thực hiện theo mã này, tưởng tượng ba lần nhấp chuột bên trong rect và sau đó một lần nhấp bên ngoài rect. So sánh các bước với các bước trong trình tự cụ thể được viết ở trên và thấy rằng khớp (ngoại trừ lần hủy cuối cùng của

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
15 và
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
31 của
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
12)

Chức năng này được minh họa trong chương trình ví dụ

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
33. Khác với mã ví dụ đồ họa tiêu chuẩn, chương trình chính chứa

1
2
3
4
63

Như bạn có thể thấy, các đa giác được trả về được sử dụng để thay đổi màu sắc, giống như hình minh họa


Trong các ví dụ hoạt ảnh trước đó, vòng lặp

1
2
3
4
2 cũng sẽ hữu ích. Thay vì tiếp tục hoạt hình một số lần cố định, sẽ rất tốt nếu người dùng chỉ ra bằng cách nhấp chuột khi cô ấy đã xem đủ lâu. Cho đến nay, cách duy nhất để sử dụng chuột là với
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35. Điều này sẽ không hoạt động trong hoạt ảnh vì máy tính dừng và chờ nhấp chuột với
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35, trong khi hoạt ảnh sẽ tiếp tục cho đến khi nhấp chuột

Trong các hệ thống đồ họa chính thức đáp ứng các sự kiện, đây không phải là vấn đề. Đồ họa của Zelle được xây dựng dựa trên hệ thống hướng sự kiện có khả năng và trên thực tế, tất cả các lần nhấp chuột đều được đăng ký, ngay cả các cuộc gọi bên ngoài tới

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35

Ví dụ, chạy chương trình ví dụ

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
38. Đảm bảo làm theo lời nhắc nhấp để bắt đầu và kết thúc

Ngoài các lời nhắc, sự khác biệt so với chương trình

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
39 trước đó là việc thay thế tiêu đề vòng lặp lặp lại đơn giản ban đầu

1
2
3
4
64

bằng cách khởi tạo sau và tiêu đề vòng lặp while

1
2
3
4
65

Mô-đun đồ họa ghi nhớ lần nhấp chuột cuối cùng, cho dù nó có xảy ra trong khi gọi tới

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35 hay không. Một cách để kiểm tra xem chuột đã được nhấp kể từ lần gọi cuối cùng tới
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35 hay chưa là
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
42. Nó không đợi chuột như trong
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
35. Thay vào đó, nó trả về lần nhấp chuột đã nhớ - lần nhấp chuột gần đây nhất trong quá khứ, trừ khi không có lần nhấp chuột nào kể từ lần gọi cuối cùng tới getMouse hoặc checkMouse. Trong trường hợp đó,
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
42 trả về Không có (đối tượng đặc biệt được sử dụng để biểu thị việc thiếu đối tượng thông thường)

Phương pháp

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
45 cho phép một vòng lặp không dừng lại trong khi đợi nhấp chuột, nhưng tiếp tục cho đến khi kiểm tra tiêu đề phát hiện ra rằng con chuột đã được nhấp

Có thể xây dựng tương tự cho các ví dụ khác về hoạt hình, như

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
46. Trong
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
47, tôi đã sửa đổi
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
46 để có vòng lặp while thay cho vòng lặp for lặp lại 600 lần. chạy nó. Sửa đổi nhỏ duy nhất được thêm vào ở đây là
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
49 ban đầu không phải là tham số của
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50, vì vậy tôi đã thêm nó vào. Xem mã nguồn của
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
47, với một vài thay đổi được đánh dấu MỚI

Trong

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
52, tôi cũng đã thực hiện một thay đổi thú vị hơn đối với quá trình khởi tạo, do đó, hướng và tốc độ ban đầu của chuột được người dùng xác định bằng đồ họa bằng một cú nhấp chuột. Hãy thử chương trình ví dụ
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
52

Chương trình bao gồm một chức năng tiện ích mới để giúp xác định ban đầu (dx, dy) cho hình ảnh động. Điều này được thực hiện bằng cách tính toán bước di chuyển cần thiết để đi từ một điểm (nơi có quả bóng trong chương trình này) đến một điểm khác (được chỉ định bởi cú nhấp chuột của người dùng trong chương trình này).

1
2
3
4
66

Vì hàm tính toán cả sự thay đổi trong x và y, nên nó trả về một giá trị

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
54

Một phương pháp tương tác đơn giản,

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
55, được bao quanh chức năng này để có được sự lựa chọn của người dùng, cuối cùng trả về cùng một bộ dữ liệu

1
2
3
4
67

Trong phiên bản mới của trình điều khiển chính,

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
56, được trích dẫn bên dưới, cài đặt tương tác này của (dx, dy) được sử dụng. Lưu ý câu lệnh gán nhiều lần cho cả dx và dy, được đặt từ bộ được trả về từ
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
55. Sự thay đổi này nói chung sẽ là quá nhiều đối với một bước hoạt hình duy nhất, do đó, các giá trị thực tế được chuyển đến bounceBall được thu nhỏ lại theo hệ số
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
58

1
2
3
4
68

Phương thức

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50 có cùng thay đổi đối với vòng lặp như trong RandomCircles. ví dụ py. Phương pháp sau đó yêu cầu
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
60,
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
49, như một tham số khác, vì
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
45 là một phương pháp
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
60

Bạn có thể xem trong Idle mã nguồn đầy đủ của

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
52 nếu muốn. Tất cả các thay đổi từ
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
46 đều được đánh dấu bằng nhận xét bắt đầu bằng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
66 và tất cả các thay đổi chính đã được mô tả ở trên

Trong các ví dụ cho đến nay về việc sử dụng

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
42, chúng tôi chỉ sử dụng thực tế là một điểm đã được nhấp, không phải điểm nào. Phiên bản ví dụ tiếp theo,
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
68, sử dụng vị trí nhấp chuột được đọc bằng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
42 để thay đổi hướng và tốc độ của quả bóng. Thử nó

Phiên bản này chỉ sửa đổi một chút chức năng hoạt hình trung tâm,

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50, nhưng bao bọc nó trong một chức năng lặp khác giúp hướng và tốc độ của quả bóng thay đổi trên mỗi lần nhấp chuột. Do đó, các lần nhấp chuột được phát hiện trong
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50 cần được ghi nhớ và sau đó được trả lại sau khi vòng lặp hoạt ảnh chính kết thúc. Điều đó yêu cầu một cái tên,
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14, được đặt cho lần nhấp chuột cuối cùng, để nó có thể được ghi nhớ. Điều này có nghĩa là sửa đổi vòng lặp hoạt hình chính để khởi tạo biến
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 trước vòng lặp và đặt lại nó ở cuối vòng lặp, giống như việc sử dụng getMouse() để tạo đa giác tương tác. Điều đó giải thích ba dòng MỚI đầu tiên và hai dòng MỚI cuối cùng trong bản sửa đổi
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50

1
2
3
4
69

Ban đầu tôi chỉ thực hiện những thay đổi đã thảo luận cho đến nay (không phải những thay đổi liên quan đến biến mới

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
20). Biến
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
20 là phản ứng với một lỗi mà tôi sẽ thảo luận sau khi giới thiệu hàm đơn giản bao quanh
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50

Mỗi lần nhấp chuột, quả bóng sẽ đổi hướng và di chuyển về phía lần nhấp cuối cùng, cho đến khi điều kiện dừng xảy ra, khi có một lần nhấp phía trên vạch dừng. Điều này rõ ràng là lặp đi lặp lại và cần một vòng lặp while. Điều kiện đơn giản là kiểm tra tọa độ y của lần nhấp chuột so với chiều cao của vạch dừng. Phần thân của vòng lặp rất ngắn, vì chúng ta đã có hàm tiện ích

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
78, để tìm ra các giá trị (dx, dy)

1
2
3
4
0

Biến

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 cho lần nhấp chuột cuối cùng cần được khởi tạo theo một cách nào đó. Tôi đã chọn đặt giá trị giống với vị trí ban đầu của quả bóng, vì vậy cả dx và dy ban đầu đều bằng 0 và quả bóng không bắt đầu chuyển động. (Các lựa chọn thay thế ở bên dưới. )

Tôi thỉnh thoảng phát hiện một lỗi khi sử dụng chương trình. Quả bóng sẽ bị kẹt ngay bên ngoài đường biên và ở đó. Việc nó hơi vượt ra ngoài ranh giới là một manh mối. Để đơn giản, tôi đã ăn gian và để bóng đi quá đường biên dự định chỉ một bước hoạt hình. Với tốc độ và kích thước bước nhỏ, điều này hoạt động trực quan. Mã ban đầu chắc chắn sẽ thực hiện một bước nhảy ngược lại vào bên trong ở bước tiếp theo

Sau một hồi suy nghĩ, tôi nhận thấy rằng phiên bản đầu tiên của bounce3. mã py cho

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50 đã phá vỡ giả định đó. Khi quả bóng ở vị trí cần phải nảy lại, một lần nhấp chuột có thể thay đổi (dx, dy) và làm rối loạn độ nảy. Ý tưởng khắc phục là không cho phép người dùng thay đổi hướng trong thời điểm bóng cần bật trở lại

Cả hai câu lệnh

1
2
3
4
77 kiểm tra ranh giới ban đầu đều không tự xác định xem quả bóng có nằm trong khu vực mà nó cần đảo ngược hướng hay không. Tôi đã giải quyết tình huống này bằng cách giới thiệu một biến Boolean
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
20. Ban đầu, nó được đặt là
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
83, sau đó một trong hai câu lệnh
1
2
3
4
77 có thể sửa thành Sai. Sau đó, ở cuối vòng lặp,
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
20 được sử dụng để đảm bảo quả bóng nằm an toàn trong khu vực thích hợp khi kiểm tra xem có nhấp chuột mới hay không và người dùng có thể điều chỉnh thành (dx, dy)

3. 3. 4. 1. Bài tập di chuyển Undraw

** Như đã thảo luận ở trên, logic vòng lặp cơ bản hoạt động cho dù lệnh gọi

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
22 ở đầu hay cuối vòng lặp. Viết một biến thể
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
87 làm cho mã hoạt động theo cách khác, với
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
22 ở đầu vòng lặp. Không thay đổi hoặc di chuyển bất kỳ câu lệnh nào khác trong vòng lặp. Vị trí mới để cắt vòng lặp có ảnh hưởng đến mã trước và sau vòng lặp không. Cụ thể, bản vẽ câu lệnh bổ sung
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
12 không cần thiết sau khi hoàn thành vòng lặp. Thực hiện các thay đổi khác đối với mã xung quanh để thực hiện công việc này. gợi ý.

3. 3. 4. 2. Thực hiện bài tập đường dẫn

** Viết một chương trình bề ngoài rất giống với

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
33, và gọi nó là
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
91, với hàm
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
92. Sự khác biệt bên ngoài duy nhất giữa
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
93 và
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
92 là trong khi cái đầu tiên tạo ra một đa giác khép kín và trả về nó, thì cái mới tạo ra một đường dẫn đa giác, không có điểm cuối cùng được tự động kết nối với điểm đầu tiên và một danh sách các dòng trong . Bên trong các chức năng khá khác nhau. Sự thay đổi đơn giản hóa một số thứ. không cần phải hoàn tác bất kỳ thứ gì trong vòng lặp chính - chỉ cần vẽ đoạn mới nhất mỗi lần đi từ điểm trước đó đến điểm vừa nhấp. Tuy nhiên có những biến chứng. Bạn cần giải quyết đặc biệt với điểm đầu tiên. Nó không có điểm trước đó để kết nối với. Tôi đề nghị bạn xử lý việc này trước vòng lặp chính. Nếu điểm nằm bên trong hình chữ nhật, hãy vẽ điểm đó sao cho nó có thể nhìn thấy hướng dẫn cho điểm tiếp theo. Trước khi quay lại, hãy rút điểm ban đầu này. (Vị trí trên màn hình sẽ vẫn hiển thị nếu một đoạn ban đầu được vẽ. Nếu không có điểm nào được thêm vào, màn hình sẽ bị bỏ trống, đó là cách nó phải như vậy và một danh sách các dòng trống sẽ được trả về. ) Bạn cũng cần nhớ điểm trước đó mỗi khi qua vòng lặp chính. Tôi khuyên bạn nên suy nghĩ riêng về điều gì sẽ xảy ra nếu bạn dừng vẽ khi điểm thứ nhất, thứ hai hoặc thứ ba nằm ngoài hình chữ nhật. Đồng thời kiểm tra từng trường hợp đó sau khi chương trình được viết

Trong chương trình chính của bạn, hãy gọi hàm

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
95 hai lần. Sử dụng danh sách các dòng được trả về để lặp qua và thay đổi màu của tất cả các dòng trong một đường dẫn và độ rộng của các đường trong đường dẫn khác. Một phần của hình ảnh mẫu từ chương trình này được hiển thị bên dưới

Vòng lặp while trong python 3

3. 3. 4. 3. Bài tập bắt đầu ngẫu nhiên

* (Tùy chọn) Tôi đã chọn để quả bóng bắt đầu bất động, bằng cách đặt giá trị ban đầu của

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 (xác định giá trị ban đầu (dx, dy) ) làm tâm của quả bóng. Viết một biến thể
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
97 để
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
14 được chọn ngẫu nhiên. Cũng làm cho vị trí ban đầu của quả bóng là ngẫu nhiên. Bạn có thể sao chép chức năng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
99 từ bounce1. py

3. 3. 4. 4. Mad Lib khi tập thể dục

** Viết chương trình

1
2
3
4
600 sửa đổi phương thức
1
2
3
4
601 của
1
2
3
4
602 để sử dụng vòng lặp
1
2
3
4
2. (Đây không phải là một chương trình hoạt hình, nhưng phần này là nơi bạn có nhiều kinh nghiệm nhất với vòng lặp while. )

gợi ý. Đây thực sự là cách tiếp cận tự nhiên nhất. Ban đầu, tôi đã tránh các vòng lặp

1
2
3
4
2, khi chỉ thảo luận về vòng lặp
1
2
3
4
4. Tuy nhiên, theo cách tiếp cận ban đầu, việc tìm mọi phiên bản của
1
2
3
4
606 để đếm số lần lặp lại và sau đó tìm lại tất cả chúng khi giải nén các khóa gợi ý là không cần thiết. Một cách tự nhiên hơn để kiểm soát vòng lặp là dừng vòng lặp
1
2
3
4
2 khi không có sự xuất hiện tiếp theo của
1
2
3
4
606 đến
1
2
3
4
609. Điều này liên quan đến một số điều chỉnh hơn nữa. Bạn phải cắt vòng lặp ở một nơi khác (để kết thúc sau khi tìm kiếm
1
2
3
4
606). Như đã thảo luận trước đây, việc cắt một vòng lặp ở một vị trí khác cũng có thể yêu cầu thay đổi trước và sau vòng lặp

3. 3. 4. 5. Bài Tập Trò Chơi Tìm Lỗ

** Viết chương trình trò chơi đồ họa,

1
2
3
4
611, “Find the Hole”. Chương trình nên sử dụng một trình tạo số ngẫu nhiên để xác định một “lỗ hổng” hình tròn, chọn một điểm và có lẽ là bán kính xung quanh điểm đó. Chúng xác định mục tiêu và không được tiết lộ cho người chơi ban đầu. Sau đó, người dùng được nhắc nhấp xung quanh màn hình để “tìm lỗ ẩn”. Bạn nên hiển thị những điểm người dùng đã thử. Sau khi người dùng chọn một điểm nằm trong bán kính đã chọn của điểm bí ẩn, vòng tròn bí ẩn sẽ xuất hiện. Sẽ có một thông báo thông báo đã đi bao nhiêu bước và trò chơi sẽ kết thúc

Gợi ý. bạn đã xem đoạn mã để xác định độ dịch chuyển (dx, dy) giữa hai điểm. sử dụng chức năng

temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
78 trong
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
52. Sau khi bạn có độ dời (dx, dy) giữa tâm ẩn và lần nhấp chuột gần nhất, khoảng cách giữa các điểm là
1
2
3
4
614, sử dụng Định lý Pythagore của hình học. Nếu khoảng cách này không lớn hơn bán kính mà bạn đã chọn cho vòng tròn bí ẩn, thì người dùng đã tìm thấy vòng tròn. Bạn có thể sử dụng
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
78 như đã viết hoặc sửa đổi nó thành hàm
1
2
3
4
616 trả về trực tiếp khoảng cách giữa hai điểm

Nhiều công phu về trò chơi này là có thể. Hãy vui vẻ với nó

3. 3. 5. Logic vòng lặp hoạt hình đẹp hơn (Tùy chọn)

Biến thể cuối cùng là chương trình ví dụ

1
2
3
4
617, có hành vi bên ngoài giống như bounce3. py, nhưng nó minh họa một quyết định thiết kế nội bộ khác. cú nảy3. phiên bản py có hai cấp độ của vòng lặp while theo hai phương thức,
1
2
3
4
618 cho lần nhấp chuột và
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
50 cho lần nhấp. cú nảy4. phiên bản py đặt tất cả mã để thay đổi hướng bên trong vòng lặp hoạt hình chính trong hàm bên ngoài cũ,
1
2
3
4
618. Hiện có ba lý do để điều chỉnh (dx, dy). nảy ra hai bên, nảy ra khỏi đỉnh hoặc đáy hoặc nhấp chuột. Đó là sự đơn giản hóa và thống nhất logic theo một nghĩa nào đó. Điều phức tạp bây giờ là logic để xác định khi nào nên bỏ cuộc nằm sâu bên trong logic ________ 377-________ 1622, chứ không phải ở phần đầu của vòng lặp. Kiểm tra các lần nhấp chuột nằm trong vòng lặp
1
2
3
4
2 và xa hơn nữa bên trong một câu lệnh
1
2
3
4
77 khác. Kiểm tra nhấp chuột có thể chỉ dẫn đến thay đổi trong (dx, dy) hoặc là tín hiệu để thoát. Đây là mã sửa đổi, với một cuộc thảo luận sau đó về câu lệnh trả về

1
2
3
4
1

Nhớ lại rằng một câu lệnh

1
2
3
4
3 ngay lập tức chấm dứt thực thi chức năng. Trong trường hợp này, hàm không trả về giá trị nào, nhưng
1
2
3
4
3 trần là hợp lệ để buộc thoát. Vì thử nghiệm không được thực hiện trong điều kiện
1
2
3
4
2 bình thường, nên điều kiện
1
2
3
4
2 được đặt là vĩnh viễn
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
83. Đây không phải là mẫu vòng lặp
1
2
3
4
2 phổ biến nhất. Nó che khuất lối thoát vòng lặp. Sự lựa chọn giữa cách tiếp cận của
temperature = 115  
while temperature > 112: # first while loop code
    print(temperature)
    temperature = temperature - 1

print('The tea is cool enough.')
68 và
1
2
3
4
617 là vấn đề sở thích trong tình huống nhất định

Vòng lặp while trong Python với ví dụ là gì?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về vòng lặp while trong lập trình Python với sự trợ giúp của các ví dụ. . Thí dụ. Python trong khi vòng lặp

3 loại vòng lặp trong Python là gì?

Loại vòng lặp .
cho vòng lặp. Vòng lặp for trong Python được sử dụng để lặp qua một chuỗi (danh sách, bộ dữ liệu, bộ, từ điển và chuỗi). Sơ đồ. .
Trong khi lặp lại. Vòng lặp while được sử dụng để thực thi một tập hợp các câu lệnh miễn là một điều kiện là đúng. .
Vòng lặp lồng nhau. Nếu một vòng lặp tồn tại bên trong phần thân của một vòng lặp khác, nó được gọi là vòng lặp lồng nhau

+= nghĩa là gì trong khi Python?

count += 1 # this thêm một để đếm và chỉ định lại để đếm .

Tại sao vòng lặp while của tôi không hoạt động Python?

Vòng lặp while không chạy vì điều kiện không được đáp ứng . Sau khi chạy vòng lặp for, giá trị của biến i là 5, lớn hơn ba. Để khắc phục điều này, bạn nên gán lại giá trị trước khi chạy vòng lặp while (chỉ cần thêm var i=1; vào giữa vòng lặp for và vòng lặp while).