Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2017 14:45:22

DanKor
Зарегистрирован: 2017-11-03
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачу

По данным натуральным n≥2 вычислите сумму 1 × 2 + 2 × 3 + … + (n-1) × n. Ответ выведите в
виде исчисленного выражения и его значение так же, как показано в примере. Входные данные -
вводится натуральное число. Пример: входные данные: 4, исходные данные: 1 * 2 + 2 * 3 + 3 * 4 = 20.

Код для вывода просто ответа уже написал:

 n = int (input ("n = "))
list1=[]
while n>=2:
    b=(n-1)*n
    n-=1
    list1.append(b)
    c=sum(list1)
print (c)
Как сделать чтобы выводило в виде 1 * 2 + 2 * 3 + 3 * 4 = 20????

Офлайн

#2 Ноя. 3, 2017 15:22:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачу

Да просто собирайте строку из меленьких кусочков

 s = "1"
s += "*" + str(2)
s += "+" + str(2)
s += "*" + str(3)
И так далее, разумеется в том же цикле, в котором математику считаете



Офлайн

#3 Ноя. 3, 2017 19:03:55

DanKor
Зарегистрирован: 2017-11-03
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачу

FishHook
Да просто собирайте строку из меленьких кусочков
Спасибо за совет, но будет ли програма по такой системе выводить в этом же виде если чисел будет 5, 20 и тд.? Например я ввожу 5 и тогда по формуле 1*2+2*3+3*4+4*5 = 40. Как сделать чтобы при любом числе правильно показывало ответ. Вот примеры:

Прикреплённый файлы:
attachment Без имени-1.jpg (143,2 KБ)

Офлайн

#4 Ноя. 3, 2017 20:31:38

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачу

DanKor
Спасибо за совет, но будет ли програма по такой системе выводить в этом же виде если чисел будет 5, 20 и тд.?
конечно будет, если писать не китайский код, а поместить в том же цикле, в котором математику считаете как написал FishHook
 n = int (input ("n = "))
list1=[]
list2 =[]
i = 2
while i <= n: 
    list2.append('{}*{}'.format(i-1, i))
    list1.append((i-1)*i)
    i +=1
c=sum(list1)
s = '+'.join(list2)
print ('input: {}, result:{}={}'.format(n, s, c))
>>> 
input: 10, result:1*2+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10=330
>>> 



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 3, 2017 20:48:17)

Офлайн

#5 Ноя. 3, 2017 21:18:41

DanKor
Зарегистрирован: 2017-11-03
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачу

PEHDOM
СпасибоЯ просто только учусь

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version