好吧,我们刚刚开始学习循环,我已经挠头好几天了,想弄明白它。我想打印帕斯卡的三角形。 我在网上找到了一些简单的代码,我真的能理解
rows = int(input("Enter the number of rows : "))
for i in range(0, rows):
coff = 1
for j in range(1, rows-i):
print(" ", end="")
for k in range(0, i+1):
print(" ", coff, end="")
coff = int(coff * (i - k) / (k + 1))
print()
然而,他们是如何得到这个公式的coff = int(coff * (i - k) / (k + 1))
,
我一直在网上搜索他们是如何得出这个结论的,但我仍然找不到任何答案。
我理解循环是如何工作的,但我对他们是如何得到公式来得到这些条件的问题感到困惑。谢谢你的帮助
对于Pascal三角形中的每个位置,值为
i Choose k
,其中i
是行(从第一行的0开始),而k
是行中的位置(也从0开始)i
和k
这里(几乎)与代码中的变量匹配现在,Wikipedia运动着这个身份:
将其转换为代码的技巧是
coff = int(coff * (i - k) / (k + 1))
在打印coff
之后运行,因此我们需要将1添加到k
。 如果希望代码更接近公式,可以执行以下操作:相关问题 更多 >
编程相关推荐