2014-09-26 3 views
1

В настоящее время я работаю над проектом, над которым я работаю, и в настоящее время я изучаю цикл. Вот это направление следующим ...Треугольные числа с использованием циклов (Python)

Треугольные числа являются количество объектов, которые могут быть расположены в виде треугольника, сделав строк, еще одним объектом в каждой строке, чем в предыдущей строке , Напишите функцию, которая задает число, n, будет математически вычислять n-е треугольное число. Напишите еще одну функцию, которая отображает треугольные числа вплоть до n.

Формула состояния (п (п + 1))/(2) или (п^(2) + п)/(2)

Так довольно много я думаю Мне нужно было бы сформулировать функцию, которая, что бы я ни вводил для n в уравнение, получил бы ответ. Однако, мой вопрос заключается в том, что я не понимаю, как в этом сценарии используются циклы. Я сделал следующее, но я получаю сообщение об ошибке. Я думаю, что это должно быть очень просто?

n=int(input("Please Enter n:")) 
y1=((n**2)+n)/(2) 
print (y1) 

Я думаю, что код выше отвечает на первый вопрос, где он formulaically вычислить п-е треугольное число, заданное inputing п. Однако мне сложно написать функцию для второго вопроса, где функция, которая отображает треугольные числа до и включая 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

+0

Спасибо за вашу работу. Но у меня проблемы, потому что он спрашивает до и включая n. Как это работает? – python2learn

+0

IT до 10? – python2learn

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

Я думаю, что код actall y работает, но я попробую и вашу. Сможете ли вы помочь мне во втором вопросе? Мне сложно написать функцию для второго вопроса, где функция, которая отображает треугольные числа до и включая n. (Который я не понимаю, что это значит в первую очередь). – python2learn

+0

@ python2learn, похоже, что это первоначальный первый вопрос, который у вас был. Это та часть, которую она запрашивает либо для цикла цикла, либо для цикла while. Если бы это был я, я бы сделал цикл while, который гласит: 'while (n> = 0) {# stuff; --n} '. Может быть, это может быть реализовано в вышеупомянутом ответе? –

+0

Извините, у меня проблемы с этим. Вы могли бы показать мне? – python2learn

Смежные вопросы