使用循环的三角数(Python)

时间:2014-09-26 01:08:23

标签: python loops

我目前正在开展一个我正在研究的项目,而我目前正在学习循环。以下是方向......

  
    
      
        

三角数是指通过制作行可以排列成三角形的对象数,每行中的对象数比前一行多一个。写一个给定数字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。非常感谢你的帮助。

2 个答案:

答案 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}}