Bài 3. Tìm lỗi saiBa bạn Bình, An, Phúc thảo luận với nhau để viết chương trình Python nhập vào từ...

Câu hỏi:

Bài 3. Tìm lỗi sai

Ba bạn Bình, An, Phúc thảo luận với nhau để viết chương trình Python nhập vào từ bàn phím ba số thực khác nhau và in ra màn hình số đứng giữa trong ba số (số đó không là lớn nhất và cũng không là nhỏ nhất).

Mỗi bạn soạn thảo chương trình và chạy thử trên máy tính của mình, nhưng mỗi bạn đều gặp báo lỗi của Python. Em hãy xác định lỗi ở chương trình của mỗi bạn, sữa lỗi cho từng bạn sao cho chương trình chạy được và đưa ra kết quả đúng.

Câu trả lời:
Người trả lời: GV. Đỗ Thị Huy
Cách làm:
1. Xác định lỗi trong chương trình của từng bạn.
2. Sửa lỗi cho từng bạn sao cho chương trình chạy được và đưa ra kết quả đúng.

Câu trả lời:
Cách giải đúng chương trình để tìm số đứng giữa ba số thực khác nhau như sau:

```python
a = float(input("Nhập số thứ nhất: "))
b = float(input("Nhập số thứ hai: "))
c = float(input("Nhập số thứ ba: "))

if a > b:
if a < c:
mid = a
elif b > c:
mid = b
else:
mid = c
else:
if a > c:
mid = a
elif b < c:
mid = b
else:
mid = c

print("Số đứng giữa ba số là:", mid)
```

Các bạn Bình, An và Phúc đã gặp lỗi vì chưa xử lý trường hợp số trùng nhau giữa ba số. Khi có trường hợp số trùng nhau, chương trình không thể xác định được số đứng giữa trong ba số. Để sửa lỗi này, ta cần xử lý trường hợp số trùng nhau trong chương trình, như sau:

```python
a = float(input("Nhập số thứ nhất: "))
b = float(input("Nhập số thứ hai: "))
c = float(input("Nhập số thứ ba: "))

if a > b:
if a > c:
if b > c:
mid = b
else:
mid = c
else:
mid = a
else:
if b > c:
if a > c:
mid = a
else:
mid = c
else:
mid = b

print("Số đứng giữa ba số là:", mid)
```

Với chương trình được sửa lỗi như trên, chương trình đã xử lý trường hợp số trùng nhau và cho ra kết quả chính xác khi tìm số đứng giữa trong ba số thực khác nhau.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.07003 sec| 2179.055 kb