Python cho Tin học trẻ · Bảng B (THCS)
for … in range(…) thay cho khối lặp lại n lầnTrong Scratch, muốn mèo đi 10 bước, lặp lại 5 lần, em làm thế nào?
| Scratch | Python |
|---|---|
| lặp lại 5 | for i in range(5): |
| các khối bên trong | các dòng thụt vào |
for i in range(5): print("Xin chao", i)
Xin chao 0 Xin chao 1 Xin chao 2 Xin chao 3 Xin chao 4
| Viết | Biến i lần lượt là |
|---|---|
range(5) | 0, 1, 2, 3, 4 |
range(1, 6) | 1, 2, 3, 4, 5 |
range(0, 10, 2) | 0, 2, 4, 6, 8 |
range(10, 0, -1) | 10, 9, 8, …, 1 |
range(a, b) đi từ a đến b − 1 (không gồm b). Muốn từ 1 đến n: range(1, n + 1).n = int(input()) tong = 0 for i in range(1, n + 1): tong += i print(tong)
tong = 0tong += i5 15
n = int(input()) tong = 0 for i in range(1, n + 1): tong += i print(tong)
5 1 3 6 10 15
print thụt vào → nằm trong vòng lặp → in ra n lần. Thụt lề quyết định khối nào thuộc khối nào!Với n = 4, điền bảng:
| Vòng | i | tong sau vòng lặp |
|---|---|---|
| trước | – | 0 |
| 1 | 1 | 1 |
| 2 | 2 | ? |
| 3 | 3 | ? |
| 4 | 4 | ? |
for i in range(1, 6): print(i, end=" ") print() print("Xong")
1 2 3 4 5 Xong
end=" ": in xong thì thêm dấu cách thay vì xuống dòngprint() cuối cùng để xuống dòngĐề: "Dòng đầu là n. n dòng tiếp theo, mỗi dòng một số nguyên."
n = int(input()) tong = 0 for _ in range(n): x = int(input()) tong += x print(tong)
_ khi không cần dùng đến biến đếm.Input: số nguyên n (1 ≤ n ≤ 1000).
Output: các số 1, 2, …, n trên một dòng.
| Input | Output |
|---|---|
5 | 1 2 3 4 5 |
Input: số nguyên n (1 ≤ n ≤ 10⁶).
Output: 1 + 2 + … + n.
| Input | Output |
|---|---|
5 | 15 |
1000000 | 500000500000 |
Nếu đề cho n ≤ 10¹⁸ thì sao?
n = int(input()) print(n * (n + 1) // 2)
Input: số nguyên n (0 ≤ n ≤ 100).
Output: n! = 1 × 2 × … × n (quy ước 0! = 1).
| Input | Output |
|---|---|
5 | 120 |
0 | 1 |
Input: số nguyên n (1 ≤ n ≤ 9).
Output: bảng nhân n, 10 dòng.
| Input | Output |
|---|---|
7 | 7 x 1 = 7
7 x 2 = 14
…
7 x 10 = 70 |
Input: dòng đầu là n (n ≤ 10⁴); n dòng sau, mỗi dòng một số nguyên.
Output: tổng các số chẵn.
| Input | Output |
|---|---|
4
3
8
-2
5 | 6 |
Input: số nguyên n. Output: tam giác n dòng, dòng i có i dấu *.
* ** *** ****
★★★ Mở rộng: in kim tự tháp n dòng.
* *** ***** *******
*?Input: số nguyên n (1 ≤ n ≤ 10⁶).
Output: S = 1 + 1/2 + 1/3 + … + 1/n, làm tròn 4 chữ số thập phân.
| Input | Output |
|---|---|
1 | 1.0000 |
3 | 1.8333 |
tong = 0 for i in range(1, n + 1): tong += i print(tong)
range(a, b) dừng ở b − 10, tích khởi tạo 1print(x, end=" ") để in cùng dòng