Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
10 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 41

Циклические операторы

31.05.2019, 13:03. Показов 4824. Ответов 30

Всем привет, ребят. Помогите начинающему программисту, очень бы хотелось изучить эту тему

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2019, 13:03
Ответы с готовыми решениями:

Циклические операторы
Всем привет. Работяги, помогите написать код начинающему программеру... Задано 8 чисел. Заменить все положительные числа максимальным...

циклические операторы
Решить с помощью циклических операторов. не используя функции math.factorial(n) Вычисление факториала рассмотреть 3 случая: при...

Циклические операторы
Ребят помогите, начинаю программировать и совсем не знаю как решить данную задачу. :wall: Задание 1. Вычислить пpиближенное значение...

30
10 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 41
31.05.2019, 19:38  [ТС]
Я поинтересовался, сказали, что можно сделать с одним видом цикла. Я выбрал "for"
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
31.05.2019, 19:43
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
S += i*math.cos(i*math.pi/4)
А куда Вы "x" потеряли? В начале формулы должно быть x**i или math.pow(x, i) . Не знаю, что предпочтительнее. Наверное модуль math быстрее вычисляет, коль уж он все равно у нас используется.
0
10 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 41
31.05.2019, 19:45  [ТС]
Код в данный момент выглядит так. Что мне подкорректировать?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import math
S = 0
P = 0
T = 1
 
#Введите n
n = int(input('Введите n для всех выражений: '))
print('Число n =', n)
#Введите х
x = float(input('Введите x для всех выражений: '))
print('Число x =', x)
 
for i in range(1, n+1):
    S += i * math.cos(i * math.pi / 4)
print(S)
    P += i * math.ctg(i + i)
print(P)
    T += 1 + math.sin(i / i "!")
Питон не распознаёт math.ctg
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
31.05.2019, 19:52
wilddanky, о боги. ну посмотрите, какие функции есть в модуле, а каких нет. Как найти котангенс, зная тангенс?... У Вас ещё и с тригонометрией проблемы, похоже.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
31.05.2019, 20:54
Лучший ответ Сообщение было отмечено wilddanky как решение

Решение

Вот что выяснил.
" Используйте * * или встроенную функцию pow () для вычисления точных целочисленных степеней. Для вещественных чисел лучше использовать math.pow() "

Добавлено через 6 минут
Для первой формулы вроде так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import math
S = 0
P = 0
T = 1
#Введите n
#n = int(input('Введите n для всех выражений: '))
n = 5
print('Число n =', n)
#Введите х
#x = float(input('Введите x для всех выражений: '))
x = 3
print('Число x =', x)
 
for i in range(1, n+1):
    S += math.pow(x,i)*math.cos(i*math.pi/4)
print(S)
Добавлено через 5 минут
Цитата Сообщение от wilddanky Посмотреть сообщение
S += i * math.cos(i * math.pi / 4)
Нужно так
Python
1
    S += math.pow(x,i)*math.cos(i*math.pi/4)
Иначе у Вас x не используется.

Добавлено через 5 минут
Цитата Сообщение от wilddanky Посмотреть сообщение
P += i * math.ctg(i + i)
Здсь в формуле идет не складывание членов, а их умножение. Значит должно быть " *= ".
И начальное значение P должно равняться 1. P = 1

Добавлено через 8 минут
Цитата Сообщение от wilddanky Посмотреть сообщение
T += 1 + math.sin(i / i "!")
В начальном значении уже задана единица, здесь единица не нужна.

Добавлено через 25 минут
Цитата Сообщение от wilddanky Посмотреть сообщение
T += 1 + math.sin(i / i "!")
Существует метод вычисления факториала
math.factorial(X) - факториал числа X.

Добавлено через 4 минуты
Вроде так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import math
S = 0
P = 1
T = 1
#Введите n
#n = int(input('Введите n для всех выражений: '))
n = 5
print('Число n =', n)
#Введите х
#x = float(input('Введите x для всех выражений: '))
x = 3
print('Число x =', x)
 
for i in range(1, n+1):
    S += math.pow(x,i)*math.cos(i*math.pi/4)
print(S)
for i in range(1, n+1):
    P *= (i*math.pow(1/math.tan(x), i) + n)
print(P)
for i in range(1, n+1):
    T += math.pow(math.sin(x), i)/math.factorial(i)
print(T)
1
10 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 41
31.05.2019, 21:56  [ТС]
Витя, спасибо.

Добавлено через 1 минуту
Т.е. мы не должны сами вводить переменную N и Х?

Почему S = 0 , а P и T = 1? Объясните если не сложно, пожалуйста
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
31.05.2019, 22:10
Цитата Сообщение от wilddanky Посмотреть сообщение
Т.е. мы не должны сами вводить переменную N и Х
Это как у Вас в задании. Если требуется вводить, то раскоментируйте ввод , а добавленные мной присвоения значений переменным закомментируйте или вообще удалите.
Просто для отладки удобнее, что бы значения переменных были заданы в коде.
1
10 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 41
31.05.2019, 22:13  [ТС]
Почему S = 0 , а P и T = 1? Объясните если не сложно, пожалуйста
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
31.05.2019, 22:27
Лучший ответ Сообщение было отмечено wilddanky как решение

Решение

Цитата Сообщение от wilddanky Посмотреть сообщение
Почему S = 0 , а P и T = 1?
Для S мы вычисляем сумму. Поэтому начальное значение у нас 0 и затем мы к нулю прибавляем то, что получаем при вычислении членов многочлена.
А во втором случае у нас умножение. поэтому если мы начальным значением возьмем 0, то при умножении на результаты вычисления выражений в формуле, мы всегда будем получать 0, а 1 не исказит результата умножения.
В последней формуле 1 не входит в последовательность членов многочлена. Поэтому она установлена в качестве начального
значения.
Хотя здесь можно было бы за начальное значение взять 0, а цикл начинать не с 1 а с 0. Тогда первое вычисление по формуле при i=0 даст единицу.
Сейчас оформлю такой вариант.

Добавлено через 5 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import math
S = 0
P = 1
T = 0
#Введите n
#n = int(input('Введите n для всех выражений: '))
n = 5
print('Число n =', n)
#Введите х
#x = float(input('Введите x для всех выражений: '))
x = 3
print('Число x =', x)
 
for i in range(1, n+1):
    S += math.pow(x,i)*math.cos(i*math.pi/4)
print(S)
for i in range(1, n+1):
    P *= (i*math.pow(1/math.tan(x), i) + n)
print(P)
for i in range(n+1):
    T += math.pow(math.sin(x), i)/math.factorial(i)
print(T)
Вот так пожалуй будет лучше. Показывает что 1 в третьей формуле вычисляется по той же формуле в многочлене.
1
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
01.06.2019, 19:54
Viktorrus, лучше запихнуть все в один цикл
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
01.06.2019, 22:05
ioprst,
Цитата Сообщение от ioprst Посмотреть сообщение
лучше запихнуть все в один цикл
Но только нужно учесть, что диапазоны циклов разные, и пропустить вычисление по первой и второй формуле в первом цикле. Но если будет один цикл, то время выполнения программы видимо уменьшится, и код будет компактнее.

Добавлено через 9 минут
Хотя если взять первый вариант, то там диапазоны одинаковые, его можно переделать в один цикл.

Добавлено через 17 минут
Вот по совету ioprst, поместил все в один цикл
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import math
S = 0
P = 1
T = 1
#Введите n
#n = int(input('Введите n для всех выражений: '))
n = 5
print('Число n =', n)
#Введите х
#x = float(input('Введите x для всех выражений: '))
x = 3
print('Число x =', x)
 
for i in range(1, n+1):
    S += math.pow(x,i)*math.cos(i*math.pi/4)
    P *= (i*math.pow(1/math.tan(x), i) + n)
    T += math.pow(math.sin(x), i)/math.factorial(i)
print('%s\n%s\n%s' % (S, P, T))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2019, 22:05

Циклические операторы
Всем привет) Я попробовал написать код для 1-го пункта (и то не правильно). Понимаю, что довольно просто, но так же понимаю что подобного...

Из каких элементов состоят циклические операторы?
Из каких элементов состоят циклические операторы?

Циклические башни
Та же задача про Ханойские башни, только с усложнением: На дорогах Ханоя было введено одностороннее круговое движение, поэтому теперь...

Циклические алгоритмы
Помогите решить задание: Вычислить сумму, пока значение суммы остается меньше введенного числа A:

Циклические алгоритмы
Помогите с решением пожалуйста впервые вижу такое.


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru