Tổng python cho vòng lặp một dòng

Trong các bài học trước chúng ta đã giải quyết các chương trình tuần tự và các điều kiện. Thường thì chương trình cần lặp lại một số khối nhiều lần. Đó là nơi các vòng lặp có ích. Có các toán tử vòng lặp

for character in 'hello':
    print[character]
4 và
for character in 'hello':
    print[character]
5 trong Python, trong bài học này chúng ta sẽ đề cập đến
for character in 'hello':
    print[character]
4

for character in 'hello':
    print[character]
4 vòng lặp lặp lại trên bất kỳ chuỗi nào. Chẳng hạn, bất kỳ chuỗi nào trong Python là một chuỗi các ký tự của nó, vì vậy chúng ta có thể lặp lại chúng bằng cách sử dụng
for character in 'hello':
    print[character]
4

None
for character in 'hello':
    print[character]

Một trường hợp sử dụng khác cho vòng lặp for là lặp lại một số biến số nguyên theo thứ tự tăng hoặc giảm. Một dãy số nguyên như vậy có thể được tạo bằng hàm

for character in 'hello':
    print[character]
9

None
for i in range[5, 8]:
    print[i, i ** 2]
print['end of loop']
# 5 25
# 6 36
# 7 49
# end of loop

Hàm

for character in 'hello':
    print[character]
9 tạo ra một chuỗi có các số
None
1,
None
2,. ,
None
3. Số cuối cùng không được bao gồm

Có một dạng rút gọn của phạm vi [] -

None
4, trong trường hợp đó, giá trị tối thiểu được đặt hoàn toàn bằng 0

None
for i in range[3]:
    print[i]
# 0
# 1
# 2

Bằng cách này, chúng ta có thể lặp lại một số hành động nhiều lần

None
for i in range[2 ** 2]:
    print['Hello, world!']

Tương tự như với if-else, thụt đầu dòng là thứ xác định hướng dẫn nào được kiểm soát bởi

for character in 'hello':
    print[character]
4 và hướng dẫn nào không

Phạm vi [] có thể xác định một chuỗi trống, như

None
6 hoặc
None
7. Trong trường hợp này, khối for sẽ không được thực thi

None
for i in range[-5]:
    print['Hello, world!']

Hãy có ví dụ phức tạp hơn và tính tổng các số nguyên từ 1 đến n

None
for character in 'hello':
    print[character]
1

Hãy chú ý rằng giá trị lớn nhất trong phạm vi[] là

None
8 để làm cho
None
9 bằng n ở bước cuối cùng

Để lặp lại một chuỗi giảm dần, chúng ta có thể sử dụng dạng mở rộng của phạm vi [] với ba đối số -

for i in range[5, 8]:
    print[i, i ** 2]
print['end of loop']
# 5 25
# 6 36
# 7 49
# end of loop
0. Khi bị bỏ qua, bước này hoàn toàn bằng 1. Tuy nhiên, có thể là bất kỳ giá trị khác không. Vòng lặp luôn bao gồm start_value và loại trừ end_value trong quá trình lặp

Vòng lặp

i = 1
while i  0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5, nó sẽ ngay lập tức dừng thực thi vòng lặp và thoát khỏi vòng lặp đó. Trong trường hợp này, nhánh
n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
3 không được thực thi. Vì vậy,
n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5 được sử dụng để hủy bỏ việc thực hiện vòng lặp ở giữa bất kỳ lần lặp nào

Đây là một ví dụ giống như Black Jack. một chương trình đọc các số và tính tổng cho đến khi tổng lớn hơn hoặc bằng 21. Dãy nhập kết thúc bằng 0 để chương trình có thể dừng ngay cả khi tổng của tất cả các số nhỏ hơn 21

Hãy xem nó hoạt động như thế nào trên các đầu vào khác nhau

Phiên bản 1. Vòng lặp được thoát bình thường sau khi kiểm tra điều kiện, vì vậy nhánh "else" được thực hiện

2
4
7
0
total_sum = 0
a = int[input[]]
while a != 0:
    total_sum += a
    if total_sum >= 21:
        print['Total sum is', total_sum]
        break
    a = int[input[]]
else:
    print['Total sum is less than 21 and is equal to', total_sum, '.']

Phiên bản 2. Vòng lặp bị hủy bỏ bởi

n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5, vì vậy nhánh "else" bị bỏ qua

9
9
5
4
0
total_sum = 0
a = int[input[]]
while a != 0:
    total_sum += a
    if total_sum >= 21:
        print['Total sum is', total_sum]
        break
    a = int[input[]]
else:
    print['Total sum is less than 21 and is equal to', total_sum, '.']

Nhánh "Else" cũng có thể được sử dụng với vòng lặp "for". Hãy xem ví dụ khi chương trình đọc 5 số nguyên nhưng dừng ngay khi gặp số nguyên âm đầu tiên

Phiên bản 1. Vòng lặp được thoát bình thường, vì vậy nhánh "else" được thực thi

1
4
9
16
25
36
49
64
81
100
1____36_______2

Phiên bản 2. Vòng lặp bị hủy bỏ, vì vậy nhánh "else" không được thực thi

1
4
9
16
25
36
49
64
81
100
3_______36_______2

Quảng cáo của Google, có thể dựa trên sở thích của bạn

Một hướng dẫn khác được sử dụng để kiểm soát việc thực hiện vòng lặp là

None
0. Nếu trình thông dịch Python đáp ứng
None
0 ở đâu đó giữa vòng lặp, nó sẽ bỏ qua tất cả các hướng dẫn còn lại và chuyển sang bước lặp tiếp theo

None
1
4
9
16
25
36
49
64
81
100
6

Nếu

n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5 và
None
0 được đặt bên trong một số vòng lặp lồng nhau, thì chúng chỉ ảnh hưởng đến việc thực hiện vòng lặp trong cùng. Hãy xem ví dụ khá ngớ ngẩn để chứng minh điều đó

None
1
4
9
16
25
36
49
64
81
100
8

Các hướng dẫn

n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5 và
None
0 không được khuyến khích, nếu bạn có thể thực hiện ý tưởng của mình mà không cần sử dụng chúng. Đây là một ví dụ điển hình về việc sử dụng sai
n = int[input[]]
length = 0
while n > 0:
    n //= 10  # this is equivalent to n = n // 10
    length += 1
print[length]  # 4
5. mã này đếm số chữ số trong một số nguyên

1
4
9
16
25
36
49
64
81
100
9
i = 1
while i 

Chủ Đề