python - 0砖金字塔建筑python的错误输出
问题描述
我正在制作一个小脚本,它根据用户输入的数字构建一个金字塔,然后输出它可以达到的最大高度。
for n in range(bricks):
if (n*n)/2 <= bricks:
height = n+1
print("The height of the pyramid is:", height)
当我将“0”放入其中时,高度仍为“1”,这是因为 +1 但没有它会出现语法错误,并且在仅放入“1”砖时也会显示错误的高度, 有想法该怎么解决这个吗。
谢谢
解决方案
您可以取消打印,它可能会在循环结束时运行
bricks= 0
height = 0
for n in range(bricks):
if (n*n)/2 <= bricks:
height = n+1
print("The height of the pyramid is:", height)
如果你提取一个方法,你将拥有
def get_height(bricks):
height = 0
for n in range(bricks):
if (n * n) / 2 <= bricks:
height = n + 1
return height
for b in range(10):
print("The height of the pyramid is:", get_height(b), 'for nb_bricks=', b)
The height of the pyramid is: 0 for nb_bricks= 0
The height of the pyramid is: 1 for nb_bricks= 1
The height of the pyramid is: 2 for nb_bricks= 2
The height of the pyramid is: 3 for nb_bricks= 3
The height of the pyramid is: 3 for nb_bricks= 4
The height of the pyramid is: 4 for nb_bricks= 5
The height of the pyramid is: 4 for nb_bricks= 6
The height of the pyramid is: 4 for nb_bricks= 7
The height of the pyramid is: 5 for nb_bricks= 8
The height of the pyramid is: 5 for nb_bricks= 9
推荐阅读
- javascript - JavaScript 表单验证“值”未从表单 onsubmit 事件传递
- java - MacOS 上的 NetBeans 12.1 安装错误
- javascript - 我没有从表格行中通过 jquery 中的 id 获取特定值,它显示“未定义”
- jquery - 使用 jQuery 计算活动过滤器并将其插入到属性中
- javascript - vue 3 chart.js 数据从 api 更新但图表未呈现
- python - 如何使用参数将整数值获取到带有 Python 连接器的 MySQL 数据库中
- database - “用户 ADMIN 对架构没有权限。” 联系您的应用管理员,使用 oracle apex 18.2 收到此错误
- python - 仅删除特定句号在文本中意外失败
- python - 无法导入“cv2”
- arrays - Ngfor 到数组并通过 ngif 访问