python - 编写一个程序来制作一个八进制金字塔并对最后一行求和
问题描述
我正在做一个学校作业,我需要从一个八进制数“s”开始,然后连续增加一个八进制值“d”,然后将其变成一个带有行的金字塔“r”。然后,我需要将最后一行中的所有数字相加。
我有下面的代码,但它经常出现故障。它仅适用于某些测试用例,我将它们与代码一起附在下面。例如,它适用于测试用例 2、3、5,应该给你 36。它也适用于 1、4 和 20,应该给你 230。但它不适用于像 10、10 这样的案例, 10.
我做错了什么?
import decimal
def sumOfLastRow(s, d, r):
lastnums = []
lrow = 1
f = str(s)
b = int(f, 8)
s = b
x = 0
stop = 2
for x in range(r):
for column in range(1, stop):
print(oct(s), end=' ')
s += d
print("")
stop += 1
s -= d
while (lrow <= r):
lastnums.append(oct(s)[2:])
s -= d
lrow += 1
lastnums = list(map(lambda ele: sum(int(sub) for sub in str(ele)), lastnums))
lastnums = sum(lastnums)
print(lastnums)
return(lastnums)
解决方案
推荐阅读
- html - CSS z-index 不适用于父元素
- python - 将字典列表转换为嵌套的字典列表(合并重复值)
- primeng - 需要使用 PrimeNG 框架显示宽表
- centos7 - CentOS7桥接模式下网关ping不通
- google-cloud-platform - 如何恢复对丢失的 YouTube 应用的访问权限
- javascript - 如何使用管道进行验证?
- python - 无法在 Mac OS 上使用 QML、Python 和 QT Creator
- c++ - GCC/Clang 不同意具有离线成员定义的受约束的部分模板专业化
- python - 如何最好地从截断的正态分布中获取样本?
- javascript - 为什么我们不能通过 obj.prototype.function() 访问函数,为什么原型函数不能访问 'this'?