2014-09-26 319 views
1

我目前正在研究一个我正在研究的项目,并且我目前正在学习循环。这里是如下方向...使用循环的三角数字(Python)

三角数字是物体的数目,可以通过使行的每个行中的比前一行中被布置成三角形,与一种多对象。写一个给定数字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

可能是这样的:

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)   
+0

谢谢你。你能帮我解决第二个问题吗?我很难为第二个问题写一个函数,其中一个函数显示三角形数字直到并包括n(我并不完全明白它的意思)。 – python2learn 2014-09-26 01:16:16

+0

谢谢你的工作。但是,我遇到了麻烦,因为它询问了包括n。这是如何运作的? – python2learn 2014-09-26 01:31:20

+0

IT上涨到10? – python2learn 2014-09-26 01:34:38

1

由于您的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) 
+0

我认为代码真的Ÿ工作,但我会尝试你的。你能帮我解决第二个问题吗?我很难为第二个问题写一个函数,其中一个函数显示三角形数字直到并包括n(我并不完全明白它的意思)。 – python2learn 2014-09-26 01:14:44

+0

@ python2learn,它听起来像这是你原来的第一个问题。这是它所要求的for循环或while循环的一部分。如果这是我,我会做一个'while循环',它指出:'while(n> = 0){#stuff; --N}'。也许这可以实现上述答案? – 2014-09-26 01:19:39

+0

对不起,我无法抓住它。你能告诉我吗? – python2learn 2014-09-26 01:30:45