Mario - CS50x 2026

Bài toán cần giải quyết
Trong một tệp có tên là mario.py tại một thư mục có tên là sentimental-mario-more, hãy viết một chương trình để tái tạo lại các nửa kim tự tháp sử dụng các dấu thăng (#) làm các khối gạch, giống hệt như những gì bạn đã làm trong Bài tập 1. Lần này, chương trình của bạn phải được viết bằng Python!
Demo
Yêu cầu
- Để làm cho mọi thứ thú vị hơn, trước tiên hãy nhắc người dùng bằng hàm
get_intđể lấy chiều cao của nửa kim tự tháp, là một số nguyên dương trong khoảng từ1đến8(bao gồm cả hai số). (Chiều cao của các nửa kim tự tháp trong hình trên là4, chiều rộng của mỗi nửa kim tự tháp là4, với một khoảng trống có kích thước là2ngăn cách chúng). - Nếu người dùng không cung cấp được một số nguyên dương không lớn hơn
8, bạn nên yêu cầu họ nhập lại một lần nữa. - Sau đó, tạo ra (với sự trợ giúp của hàm
printvà một hoặc nhiều vòng lặp) các nửa kim tự tháp mong muốn. - Hãy cẩn thận căn chỉnh góc dưới bên trái của kim tự tháp với lề trái của cửa sổ terminal, đồng thời đảm bảo rằng có hai khoảng trắng giữa hai kim tự tháp và không có khoảng trắng thừa nào sau tập hợp các dấu thăng cuối cùng trên mỗi dòng.
Cách kiểm tra
Mặc dù check50 có sẵn cho bài toán này, nhưng bạn nên tự mình kiểm tra mã nguồn trước với mỗi trường hợp dưới đây.
- Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập-1và nhấn enter. Chương trình của bạn nên từ chối đầu vào này vì không hợp lệ, bằng cách yêu cầu người dùng nhập lại một số khác. - Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập0và nhấn enter. Chương trình của bạn nên từ chối đầu vào này vì không hợp lệ, bằng cách yêu cầu người dùng nhập lại một số khác. - Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập1và nhấn enter. Chương trình của bạn sẽ tạo ra kết quả như bên dưới. Hãy chắc chắn rằng kim tự tháp được căn chỉnh về góc dưới bên trái của terminal và không có khoảng trắng thừa ở cuối mỗi dòng.
# #
- Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập2và nhấn enter. Chương trình của bạn sẽ tạo ra kết quả như bên dưới. Hãy chắc chắn rằng kim tự tháp được căn chỉnh về góc dưới bên trái của terminal và không có khoảng trắng thừa ở cuối mỗi dòng.
# #
## ##
- Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập8và nhấn enter. Chương trình của bạn sẽ tạo ra kết quả như bên dưới. Hãy chắc chắn rằng kim tự tháp được căn chỉnh về góc dưới bên trái của terminal và không có khoảng trắng thừa ở cuối mỗi dòng.
# #
## ##
### ###
#### ####
##### #####
###### ######
####### #######
######## ########
- Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhập9và nhấn enter. Chương trình của bạn nên từ chối đầu vào này vì không hợp lệ, bằng cách yêu cầu người dùng nhập lại một số khác. Sau đó, nhập2và nhấn enter. Chương trình của bạn sẽ tạo ra kết quả như bên dưới. Hãy chắc chắn rằng kim tự tháp được căn chỉnh về góc dưới bên trái của terminal và không có khoảng trắng thừa ở cuối mỗi dòng.
# #
## ##
- Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Nhậpfoovà nhấn enter. Chương trình của bạn nên từ chối đầu vào này vì không hợp lệ, bằng cách yêu cầu người dùng nhập lại một số khác. - Chạy chương trình của bạn bằng lệnh
python mario.pyvà đợi lời nhắc nhập dữ liệu. Không nhập gì cả và nhấn enter. Chương trình của bạn nên từ chối đầu vào này vì không hợp lệ, bằng cách yêu cầu người dùng nhập lại một số khác.
Độ chính xác
check50 cs50/problems/2026/x/sentimental/mario/more
Phong cách
style50 mario.py
Cách nộp bài
Trong terminal của bạn, hãy thực thi lệnh dưới đây để nộp bài, đồng thời trả lời các câu hỏi hiện ra.
submit50 cs50/problems/2026/x/sentimental/mario/more