簡體   English   中英

使用循環的三角數(Python)

[英]Triangular Numbers Using Loops (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。 非常感謝您的幫助。

可能是這樣的:

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)        

由於您的input()應該是raw_input() ,您可能會收到錯誤。 但是,如果不是這樣,請准確說明您獲得的錯誤。

這是一些工作代碼:

def triangle(n):
    return ((n**2)+2)/2.0

n = int(raw_input('Please enter an integer: '))
print triangle(n)

或者,打印所有三角形數字,包括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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM