Mario

要解决的问题
在名为 sentimental-mario-more 的文件夹中名为 mario.py 的文件中,编写一个程序,使用井号 (#) 作为积木块来重建一个半金字塔,就像你在问题集 1 中所做的一样。只不过这次你的程序应该用 Python 编写!
演示
规格说明
- 为了让事情更有趣,首先使用
get_int提示用户输入半金字塔的高度,一个介于1和8(含)之间的正整数。(上图中半金字塔的高度恰好为4,每个半金字塔的宽度为4,两个金字塔之间的间距为2)。 - 如果用户未能提供一个不大于
8的正整数,你应该重新提示用户再次输入。 - 然后,生成(借助
print和一个或多个循环)所需的半金字塔。 - 注意将金字塔的左下角与终端窗口的左侧边缘对齐,并确保两个金字塔之间有两个空格,且每行最后一组井号之后没有多余空格。
如何测试
虽然 check50 可以用于此问题,但我们鼓励你先自行针对以下每一项测试你的代码。
- 以
python mario.py运行你的程序,等待提示输入。输入-1并按回车。你的程序应该拒绝此无效输入,并重新提示用户输入另一个数字。 - 以
python mario.py运行你的程序,等待提示输入。输入0并按回车。你的程序应该拒绝此无效输入,并重新提示用户输入另一个数字。 - 以
python mario.py运行你的程序,等待提示输入。输入1并按回车。你的程序应该生成以下输出。确保金字塔与终端的左下角对齐,并且每行末尾没有多余空格。
# #
- 以
python mario.py运行你的程序,等待提示输入。输入2并按回车。你的程序应该生成以下输出。确保金字塔与终端的左下角对齐,并且每行末尾没有多余空格。
# #
## ##
- 以
python mario.py运行你的程序,等待提示输入。输入8并按回车。你的程序应该生成以下输出。确保金字塔与终端的左下角对齐,并且每行末尾没有多余空格。
# #
## ##
### ###
#### ####
##### #####
###### ######
####### #######
######## ########
- 以
python mario.py运行你的程序,等待提示输入。输入9并按回车。你的程序应该拒绝此无效输入,并重新提示用户输入另一个数字。然后,输入2并按回车。你的程序应该生成以下输出。确保金字塔与终端的左下角对齐,并且每行末尾没有多余空格。
# #
## ##
- 以
python mario.py运行你的程序,等待提示输入。输入foo并按回车。你的程序应该拒绝此无效输入,并重新提示用户输入另一个数字。 - 以
python mario.py运行你的程序,等待提示输入。不输入任何内容,直接按回车。你的程序应该拒绝此无效输入,并重新提示用户输入另一个数字。
正确性
check50 cs50/problems/2026/x/sentimental/mario/more
代码风格
style50 mario.py
如何提交
在终端中执行以下命令提交你的作业,并按提示完成操作。
submit50 cs50/problems/2026/x/sentimental/mario/more