[英]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.