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

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

31.05.2019, 13:03. Показов 4810. Ответов 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
Ответ Создать тему
Новые блоги и статьи
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru