C4-13 · Trò chơi đoán số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Máy nghĩ một số bí mật từ 1 đến 100; người chơi có tối đa 7 lượt đoán. Sau mỗi lượt đoán sai, máy gợi ý:

  • Lon hon nếu số bí mật lớn hơn số vừa đoán;
  • Nho hon nếu số bí mật nhỏ hơn số vừa đoán.

Đoán đúng ở lượt thứ k thì in Dung sau k luot và trò chơi kết thúc ngay (không đọc thêm). Nếu sai cả 7 lượt thì sau gợi ý của lượt 7, in thêm số bí mật trên một dòng riêng (dùng biến cờ, mục 4.6.1).

Trên hệ thống chấm, số bí mật được cho ở dòng đầu của dữ liệu vào (bản chơi thật dùng random, xem hộp "Chơi thật với số ngẫu nhiên" trong sách).

Dữ liệu vào

  • Dòng đầu: số bí mật.
  • Các dòng tiếp theo, mỗi dòng một lượt đoán (số nguyên). Dữ liệu bảo đảm: hoặc có k lượt (1 ≤ k ≤ 7) mà lượt k là lượt đúng đầu tiên — lượt đúng luôn là dòng cuối; hoặc có đúng 7 lượt, tất cả đều sai.

Kết quả

  • Mỗi lượt đoán sai: một dòng Lon hon hoặc Nho hon.
  • Đoán đúng ở lượt k: dòng Dung sau k luot.
  • Sai cả 7 lượt: sau 7 dòng gợi ý, một dòng chứa số bí mật.

Ràng buộc

  • 1 ≤ số bí mật ≤ 100; 1 ≤ mỗi lượt đoán ≤ 100.

Ví dụ

Dữ liệu vào:

37
50
25
37

Kết quả:

Nho hon
Lon hon
Dung sau 3 luot

Giải thích ví dụ

Lượt Đoán So với 37 In ra
1 50 37 < 50 Nho hon
2 25 37 > 25 Lon hon
3 37 bằng Dung sau 3 luot, dừng

Một ván thua (số bí mật 1, bảy lượt đều đoán 2) in bảy dòng Nho hon rồi dòng 1.

Ghi chú

  • Gợi ý nói về số bí mật so với số đoán, không phải ngược lại.
  • Đoán đúng phải break ngay: sau lượt đúng không còn dòng nào để đọc (đọc thêm là Runtime Error).
  • Vòng lặp chạy tối đa 7 lượt: đọc lượt thứ 8 cũng là Runtime Error.
  • Chỉ in số bí mật khi thua — biến cờ cho biết đã đoán đúng hay chưa.

Nguồn trong sách: Bài C4-13, mục 4.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (***)


Đang tải...