Cùng khối lượng, trọng lượng khác nhau
Trong mô hình gần đúng ở sách, trọng lượng `P=m·g`: P tính bằng newton (N), m bằng kilôgam (kg), g bằng m/s². Một kiện hàng **giả định** khối lượng 2 kg có trọng lượng 19,6 N với g=9,8 m/s² trên Trái Đất, và 3,24 N với g=1,62 m/s² trên Mặt Trăng. Khối lượng trong ví dụ vẫn là 2 kg; không nói “khối lượng giảm” khi chuyển nơi. Đây là phép tính theo giá trị g mẫu, không phải phép đo thực tế.
Nhiệm vụ: lưu `trong-luong-mau.py`, chạy rồi đối chiếu cả tên nơi và số N:
```python
noi = ["Trái Đất", "Mặt Trăng", "Hoả tinh"]
g = [9.8, 1.62, 3.71]
m = 2
for i in range(len(noi)):
print(noi[i], round(m * g[i], 2), "N")
```
Ba dòng lần lượt là `Trái Đất 19.6 N`, `Mặt Trăng 3.24 N`, `Hoả tinh 7.42 N`. Hai list phải giữ **cùng thứ tự** và cùng số phần tử; nếu đổi thứ tự một list, số vẫn tính được nhưng gắn sai nơi. Nếu nhận chỉ số từ người dùng, kiểm `0 <= i < len(noi)` trước khi lấy phần tử; chỉ số -1 trong Python lại chỉ phần tử cuối, không nên nhận ngầm như lựa chọn hợp lệ.
Bài luyện
Vật m=2 kg, trên Mặt Trăng g=1,62 m/s², trọng lượng theo ví dụ là bao nhiêu?
Thiếu nhân khối lượng.
2 là khối lượng theo kg.
P=2×1,62=3,24 N.
Đó là trọng lượng trên Trái Đất theo g=9,8.
Lời giải
Áp dụng `P=m·g`, ta có `P=2·1,62=3,24 N`.
Bài luyện
Vì sao hai list `noi` và `g` phải cùng thứ tự?
print không tự sắp xếp.
Mỗi chỉ số ghép một tên nơi với một gia tốc tương ứng.
Các giá trị không được sắp tăng.
Hai list có thể chứa kiểu khác nhau.
Lời giải
Vòng lặp dùng chung chỉ số i. Nếu thứ tự lệch, `noi[i]` sẽ nhận `g[i]` của nơi khác và kết luận sai dù mã chạy.
Bài luyện
Nếu chương trình hỏi chọn nơi theo chỉ số 0–2, điều kiện nào kiểm chỉ số trước khi truy cập?
i=len(noi)=3 vượt phạm vi.
Chỉ 0,1,2 thỏa list dài 3.
0 là lựa chọn hợp lệ.
Chỉ số âm không thuộc quy ước lựa chọn.
Lời giải
`len(noi)=3`, các chỉ số chọn theo quy ước là 0,1,2. Điều kiện `0<=i<len(noi)` loại cả -1 và 3.
Đang học