我目前正在开展一个我正在研究的项目,而我目前正在学习循环。以下是方向......
三角数是指通过制作行可以排列成三角形的对象数,每行中的对象数比前一行多一个。写一个给定数字n的函数将公式计算第n个三角数。编写另一个显示三角形数字的函数,包括n。
公式表明(n(n + 1))/(2)或(n ^(2)+ n)/(2)
所以,我认为我需要制定一个函数,无论我输入n的等式,我都会得到答案。但是,我的问题是我不明白在这种情况下如何使用循环。我做了以下但是我收到了错误。我觉得它应该很简单吧?
n=int(input("Please Enter n:"))
y1=((n**2)+n)/(2)
print (y1)
我认为上面的代码回答了第一个问题,即在给定输入n的情况下,它在公式上计算第n个三角数。但是,我很难为第二个问题编写一个函数,其中一个函数显示三角形数字,包括n。非常感谢你的帮助。
答案 0 :(得分:1)
可能是这样的:
def all_triangle_numbers(n):
for i in range(1, n + 1):
print("n = {0}, triangle = {1}".format(i, (i ** 2 + i)//2))
all_triangle_numbers(10)
答案 1 :(得分:0)
由于input()
raw_input()
,您可能会收到错误,该错误应为def triangle(n):
return ((n**2)+2)/2.0
n = int(raw_input('Please enter an integer: '))
print triangle(n)
。但是,如果情况并非如此,请准确说明您的错误。
以下是一些有效的代码:
def all_triangles(n):
for i in range(1, n+1):
print ((i**2)+2)/2.0,
n = int(raw_input('Please enter an integer: '))
all_triangles(n)
或者,要将所有三角形数字打印到并包括 n :
{{1}}