Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
1

Вычислить значение S при заданном n

01.12.2020, 18:39. Показов 2692. Ответов 11

1. Вычислить значение S при заданном n:
S=1/1-1/2+1/3...±1/n
2. Вывести на экран для заданного n последовательность символов:
+
-
*
*
-
+
и так по кругу.
Например, если n=4, то должны получить:
+
-
*
*
Если n=10:
+
-
*
*
-
+
+
-
*
*
и т.д.

Помогите, пожалуйста, сам не могу разобраться
0
Лучшие ответы (1)
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2020, 18:39
Ответы с готовыми решениями:

Рассчитать значение у при заданном значении х
Рассчитать значение у при заданном значении х:

Напишите программу, в которой рассчитывается значение у при заданном значении х

Вычислить радиус основания цилиндра при заданном объеме и высоте
Помогите пожалуйста решить задачу на языке программирования Python. Цилиндр объёма единица имеет в...

Вычислить значение выражения при заданном x
Помогите пожалуйста построить программу,которая бы вычисляла данное выражение (((( Х вводит...

11
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
01.12.2020, 20:09 2
Nik_Makarov,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = int(input())
oper = ['+', '-', '*', '*', '-', '+', '']
st = ''
for i in range(7) :
    st += '1/(i+' + str(i+1) + ')' + oper[i]
k, m = divmod(n, 7)
s, i = 0, 0
for i in range(0,k*7,7) :
    s += eval(st)
i = k*7
if m :
    s += eval(st[:8*m-1])
print(s)
1
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
01.12.2020, 20:14  [ТС] 3
Должны, вроде, символы выводиться вместо цифр...
0
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
01.12.2020, 20:21 4
Nik_Makarov, это первое задание, а второе сам попробуй - печать в цикле элементов списка "oper". Или же умножь его на "к+1" и выведи на печать "n" членов

Добавлено через 1 минуту
Кстати, при n = 10, будет не 10 знаков, а 9, согласно формуле

Добавлено через 1 минуту
n членов, а операций -> n-1

Добавлено через 1 минуту
Вроде понял. Счас поправлю
1
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
01.12.2020, 20:21  [ТС] 5
Ой, все, понял, спасибо большое!
0
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
01.12.2020, 20:28 6
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = int(input())
oper = ['+', '-', '*', '*', '-', '+']
st = ''
for i in range(6) :
    st += oper[i] + '1/(i+' + str(i+1) + ')'
k, m = divmod(n, 6)
res, i = 0, 0
for i in range(0,k*6,6) :
    res += eval(st)
i = k*6
if m :
    res += eval(st[:8*m])
print(res)
Добавлено через 48 секунд
Nik_Makarov, Нет!!!
Тот код неверный!
1
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
01.12.2020, 20:30  [ТС] 7
Я уже понял, всё хорошо!
0
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
01.12.2020, 20:30 8
Nik_Makarov, при 10 будет 10 знаков. Но также умножаешь на (к+1) и печатаешь n членов списка
0
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
01.12.2020, 23:22  [ТС] 9
Дальше попробую сам справиться с Вашими подсказками. Я просто только начинающий в этом деле, в институте задали, как дз.

Добавлено через 2 часа 48 минут
Мой код получился таким:
Код
n = int(input())
oper = ['+', '-', '*', '*', '-', '+']
st = ''
for i in range(6):
    st += oper[i] + '1/(i+' + str(i+1) + ')'
k, m = divmod(n, 6)
res, i = 0, 0
for i in range(0,k*6,6) :
    res += eval(st)
i = k*6
if m :
    res += eval(st[:8*m])
print(res)
print(oper[:n])
Но ранжирование идёт только до 6... как сделать так, чтобы было как повторение?
Извините, если вопрос глуп...
0
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
01.12.2020, 23:37 10
Лучший ответ Сообщение было отмечено Nik_Makarov как решение

Решение

Nik_Makarov,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n = int(input())
oper = ['+', '-', '*', '*', '-', '+']
st = ''
for i in range(6):
    st += oper[i] + '1/(i+' + str(i+1) + ')'
k, m = divmod(n, 6)
res, i = 0, 0
for i in range(0,k*6,6) :
    res += eval(st)
i = k*6
if m :
    res += eval(st[:8*m])
print(res)
oper = oper * (k + 1)
print(*oper[:n], sep = '\n')
1
0 / 0 / 0
Регистрация: 01.12.2020
Сообщений: 6
01.12.2020, 23:40  [ТС] 11
Gdez, спасибо огромное!
0
4244 / 1949 / 907
Регистрация: 27.03.2020
Сообщений: 3,770
02.12.2020, 00:00 12
Nik_Makarov, Ок
Обращайся
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2020, 00:00

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вычислить значение выражения при заданном X
Составить блок-схему и написать программу вычисления функции пользователя W: ...

Вычислить при заданном значении n значение выражения
Требуется вычислить при заданном значении n. Y=\frac{\sin 10+\sin 11+...+\sin...

Вычислить значение переменной y при заданном значении n
Вычислить значение переменной y , при заданном значении n. y=1\1+1\2+1\3+...1\n

Вычислить значение функции при заданном значении х
Вычислить значение функции при заданном значении х F(x)=\begin{cases}-x^3+9 & \text{ if }...

Вычислить значение функции при заданном натуральном n
Помогите найти ошибку, программа запускается, но не правильный результат. Вот само задание: для...

Вычислить значение функции у(х) при заданном значении х
y=\left\{\begin{matrix} \sqrt{x+1},x<=3 // x+1,x=0 // \begin{vmatrix} x+1,x<0 \end{vmatrix} ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.