С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/190: Рейтинг темы: голосов - 190, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 05.12.2019
Сообщений: 43

Передача переменных между функциями

12.10.2020, 21:24. Показов 36724. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Столкнулся с проблемой, что выводит ошибку "name 's' is not defined"
Можете подсказать как передать переменную? И если вместо этой переменной будет список, ее передавать так же как и обычную переменную?
Вот код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
def qwe():
    s = 0
    for i in range(1, 5):
        s = s + i
 
 
def asd():
    q = s + 5
    print(q)
 
qwe()
asd()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2020, 21:24
Ответы с готовыми решениями:

Передать значения между функциями
Всем привет! Прошу помощи, коллеги. Пытаюсь привязать вызов функции def get_save при нажатии на кнопку pushButton_2. Не могу понять, как...

Передача переменных между файлами
Как можно реализовать передачу переменных между кодами? Писал и через import, kot.x . Заранее благодарю. Например: kod.py : ...

Передача переменных между окнами в PyQt5
Доброго времени суток, начал изучать python и столкнулся с проблемой что не могу передать переменную из одного окна в другое. Создаю в...

23
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
12.10.2020, 21:29
Лучший ответ Сообщение было отмечено Jeyzihno как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
def qwe():
    s = 0
    for i in range(1, 5):
        s = s + i
    return s
 
def asd():
    q = qwe() + 5
    print(q)
 
#qwe()
asd()
2
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.10.2020, 22:58
Jeyzihno, В простых задачах как у Вас и тем более если переменная, полученная внутри функции, вне функции используется только один раз, то Catstail, показал Вам как получить эту переменную в другой функции, с помощью вызова первой функции внутри второй используя return. Но у такого решения недостаток в том, что если эту переменную Вам нужно будет использовать в разных местах программы, и особенно если в тоже время функция рассчитывающая эту переменную требует ощутимые затраты времени, Вы будете значительно замедлять работу Вашей программы. И еще один недостаток такого подхода, снижается читабельность такого кода. Встречая в функции вместо переменной функцию, Вы вынуждены лезть в другую функцию, что бы понять, что она возвращает.
Я предпочитаю использовать глобальные переменные. Хотя некоторые на этом форуме, и в том числе вообще в интернете среди программистов настаивают на том, что глобальные переменные использовать не нужно. Я с этим в корне не согласен.
Просто нужно хорошо понимать, что такое глобальные переменные, и как с ними работать. А так же разбираться в области видимости и в пространствах имен. Плюс понимать разницу в импортировании модулей двумя способами, с помощью import ... и с помощью from ... import ... , понимая, как в этих случаях формируются пространства имен.
Поэтому Лутц, пока Вы не опытны и не научились работать с глобальными переменными, советует по возможности их избегать.
А вообще вот как будет выглядеть код для Вашей задачи при использовании глобальных переменных.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
s = 0       # инициализация переменной
 
def qwe():
    global s
    for i in range(1, 5):
        s = s + i
 
 
def asd():
    q = s + 5
    print(q)
 
qwe()
asd()
Преимущество такого кода. Инициализация в начале кода всех неоднократно используемых переменных, делает код более читабельным. И главное существенно повышается производительность программы, если Вы используете переменную неоднократно.
Поэтому мой совет. Изучая питон, постепенно осваивайте технологию использования глобальных переменных, с учетом рекомендаций, которые я описал выше.
Все, что я написал относится к неизменяемым объектам (не путайте с переменными, так как переменные содержат ссылки на объекты).
Если же переменная содержит ссылку на изменяемый объект, то эта переменная размещается в глобальной области (или в начале кода или перед функцией, где будет производится работа с изменяемым объектом. И в этом случае она внутри функции не объявляется глобальной. Однако все, что Вы будете с делать с объектом (изменяя его), будет автоматически отражаться во всех переменных, которые ссылаются на этот изменяемый объект.
Поясню. Когда объект , на который ссылается переменная, является неизменяемым, то внутри функции такая переменная автоматически становится локальной (если не объявлена глобальной).
Когда же объект, на который ссылается переменная, объявленная в начале кода или перед функцией, является изменяемым (например список) то эти изменения отражаются во всех местах, где переменные ссылаются на этот объект. Так как в этом случае внутри функций не создается локальной переменной.

Добавлено через 22 минуты
Jeyzihno, Кстати инициализацию переменной, которую Вы в функции объявляете глобальной, можно делать и внутри функуции, как в этом примере.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def qwe():
    global s
    s = 0
    for i in range(1, 5):
        s = s + i
 
 
def asd():
    q = s + 5
    print(q)
 
qwe()
asd()
Но так ухудшается читабельность, поэтому я рекомендую делать инициализацию всех глобальных переменных в начале кода, как в первом примере.
3
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.10.2020, 05:52
Цитата Сообщение от Jeyzihno Посмотреть сообщение
Можете подсказать как передать переменную?
Аргументы функции для входных параметров, и return - для выходных

Python
1
2
3
4
5
6
7
8
9
10
11
12
def qwe():
    s = 0
    for i in range(1, 5):
        s = s + i
    return s
 
def asd(s):
    q = s + 5
    print(q)
 
s = qwe()
asd(s)
3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
13.10.2020, 07:37
Jeyzihno, добрый совет: старайтесь использовать глобальные переменные только в случае крайней необходимости (напр. для хранения общих конфигурационных настроек). А перебрасывать переменные из функции в функцию в обход стандартных механизмов - плохая практика. Впрочем, выбор за вами.
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
13.10.2020, 12:54
Рыжий Лис, Но Вы тоже используете глобальную переменную s инициируя ее инструкцией
Python
1
s = qwe()
И затем эту глобальную переменную Вы используете при вызове функции
Python
1
asd(s)
И значение этой глобальной переменной затем в шапке функции присваивается локальной переменной s для этой функции.
Так что нет никакой разницы с использованием глобальной переменной s в моем примере, где я ее инициализирую в начале кода. Разница только в том, как результат расчета в функции qwe() передается глобальной переменной. Но способ передачи значения в глобальную переменную никак не влияет на возможность возникновения конфликта имен.
Конфликт имен можно гарантированно избежать только или вообще не используя глобальные переменные, в любом их виде или используя для глобальных переменных квалифицированные имена. Квалифицированные имена можно получить при импортировании модуля с глобальными переменными используя только синтаксис import ... , если же использовать синтаксис from ... import ... , то всегда возникает опасность возникновения конфликта имен (так как в этом случае происходит объединение пространства имен модуля с пространством имен импортирующего модуля). Что бы исключить конфликт имен внутри одного файла, когда разные по смыслу объекты имеют одинаковые названия переменных, которые содержат ссылки на эти объекты, то в таком случае нужно использовать класс, что бы эти объекты были значениями атрибутов разных экземпляров класса и потому принадлежали разным пространствам имен (обращение к атрибутам так же осуществляется через квалифицированные имена). Каждый экземпляр класса имеет свое пространство имен и эти пространства не пересекаются, что исключает конфликт имен переменных.

Добавлено через 10 минут
Что действительно нужно учитывать при использовании глобальных переменных, это то, что если они инициализируются внутри текста программы, то их можно не увидеть и может возникнуть конфликт имен. Что бы этого частично избежать, нужно инициализацию осуществлять вначале кода.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
13.10.2020, 12:58
Цитата Сообщение от Viktorrus Посмотреть сообщение
Но Вы тоже используете глобальную переменную s инициируя ее инструкцией
Представь, что там функция main()

Цитата Сообщение от Viktorrus Посмотреть сообщение
Конфликт имен
Никакого конфликта имён - только затенение переменной.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def qwe():
    s = 0
    for i in range(1, 5):
        s = s + i
    return s
 
def asd(ss):
    q = ss + 5
    print(q)
 
def main():
    result = qwe()
    asd(result)
    
if __name__ == '__main__':
    main()
Доволен?
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
13.10.2020, 14:35
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Представь, что там функция main()
Так что же сразу эту функцию не написали?
Сомневаюсь, что бы Jeyzihno, представил эту функцию в Вашем предыдущем варианте. Оказывается Вы считаете разработчиков питона настолько тупыми, что они придумали существование глобальных переменных, которые по Вашему использовать нельзя, и Вы вместо понятной программы городите то, что нагородили из-за того, что не умеете использовать глобальные переменные. Напишите разработчикам питона, что бы они убрали глобальные переменные. Все, я Выхожу из пустой дискуссии, которая возникала здесь уже не раз и не дала ни какого вразумительного результата.
Удачи.
1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.10.2020, 11:51
Цитата Сообщение от Viktorrus Посмотреть сообщение
Оказывается Вы считаете разработчиков питона настолько тупыми, что они придумали существование глобальных переменных, которые по Вашему использовать нельзя,
Хе-хе... Любитель глобалок негодуэ ))
Глобальные переменные действительно использовать нельзя.
Они существуют в питоне, как следствие более общего дизайна языка, их не выпилишь.
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
14.10.2020, 12:45
Оба способа передачи переменных годные. Напрасно говорят те, кто считают, что глобальные переменные использовать нельзя.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.10.2020, 12:58
КулХацкеръ, конечно, нельзя, потому что это лапшекод - громадного труда будет стоить отследить, кто там что наменял.
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
14.10.2020, 13:08
Глобальные переменные успешно используются, и вы с этим ничего поделать не сможете.
Но никто не заставляет вас их использовать )).
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
14.10.2020, 13:30
КулХацкеръ, Вы правы. Я выше описал, как можно гарантированно избежать конфликта имен, когда проект достаточно большой или когда ваши модули будут использовать другие программисты, которые так же не умеют работать с глобальными переменными, как некоторые на этом форуме.
В конце концов можно создать класс для глобальных переменных данного модуля и в качестве глобальных переменных использовать экземпляры этого класса. Тем самым мы получим квалифицированные имена для этих глобальных переменных, что гарантированно исключит какие либо конфликты имен. Такую технологию можно оформить стандартно, что бы облегчить ее использование. Но это может понадобится только для крупных проектов, где бывает сложно увидеть конфликт имен. В простых проектах вы вряд ли не заметите использования одинаковых имен для разных по смыслу переменных.
Поэтому не стоит серьезно воспринимать гуляющую в интернете пугалку про глобальные переменные. Это относится и к дурацкой пугалке о eval() . Нет ничего глупее утверждать, что непрофессиональный пользователь случайно введет профессиональную строку, которая нанесет вред компьютеру. Если же программист, то он может нанести вред компьютеру многими другими способами и не будет использовать ввода такой строки.
Глупо верить всему тому, что выкладывают в интернете, в том числе и на профессиональных сайтах. И там попадаются глупости. Поэтому нужно следовать принципу "Доверяй но проверяй", и "Имей свою голову на плечах".
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.10.2020, 13:44
КулХацкеръ, глобальные переменные используются в учебных примерах не более чем на 100 строк. В продакшне это считается однозначным говнокодом.
Ну используйте, чо. Я уже не занимаюсь спасением заблудших душ.

Цитата Сообщение от Viktorrus Посмотреть сообщение
Я выше описал, как можно гарантированно избежать конфликта имен, когда проект достаточно большой или когда ваши модули будут использовать другие программисты, которые так же не умеют работать с глобальными переменными, как некоторые на этом форуме.
Сказал человек, ни дня не проработавший в продакшне.

Не надо "избегать конфликта имён". Во-первых, конфликт имён - это вообще не проблема, чтобы уделять ему так много внимания.
Во-вторых, не надо "уметь работать с глобальными переменными". Дурное дело - нехитрое. Запутать код - куда проще, чем разложить по полочкам. Вот именно те, кто не умеет в ООП и паттерны, и любят глобалки. Потому что с ними легко и просто. Отовсюду можно достучаться. Красота
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
14.10.2020, 14:11
КулХацкеръ, Не обращайте внимание на тех, кто считает себя умнее Лутца. Лутц говорит только о том, что не стоит использовать глобальные переменные неопытным программистам. Но нигде не говорит что не нужно вообще использовать глобальные переменные и сам их везде использует.
Доказывая что нельзя использовать глобальные переменные, при этом писать
"глобальные переменные используются в учебных примерах не более чем на 100 строк."
То есть учить новичков глобальным переменным и при этом одновременно утверждать, что их вообще использовать нельзя. Смешно.
Зачем же тогда учить глобальным переменным? Никто не замечает противоречия? Как тогда у таких людей обстоят дела с логикой?

Добавлено через 6 минут
КулХацкеръ, Поэтому советую Вам. Когда у кого то проблемы с логикой, не стоит вступать с ним в продолжительную дискуссию. Высказали свое мнение, что бы его прочитали новички, и дальше вести дискуссию с таким человеком бессмысленно.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.10.2020, 15:00
Цитата Сообщение от Viktorrus Посмотреть сообщение
Но нигде не говорит что не нужно вообще использовать глобальные переменные и сам их везде использует.
То есть, если Лутц чего-то не говорит, значит, это не так? Зашибись логика.

Цитата Сообщение от Viktorrus Посмотреть сообщение
"глобальные переменные используются в учебных примерах не более чем на 100 строк."
То есть учить новичков глобальным переменным и при этом одновременно утверждать, что их вообще использовать нельзя. Смешно.
Новичков учат не глобальным переменным. Новичков учат просто переменным, и для начинающих они будут глобальны, потому что области видимости будут позже, это ведь сложнее. А принципы, как писать хорошо и не писать плохо - будут ещё позже, если вообще будут.
Слишком толстый троллинг, Виктор.

Добавлено через 7 минут
Ооо, что я нашёл Скачал Лутца. Цитата, введение к гл. 17, "Области видимости":
Мы также узнаем, что правильное использование областей видимости совершенно необходимо для обеспечения нормальной работы программ� злоупотребление глобальными переменными считается дурным тоном.
Выделение моё.
Вы же приравниваете его книгу к Священному Писанию? Шах и мат, Viktorrus

Добавлено через 5 минут
Читаю дальше. Глава 17, аж целый подзаголовок в разделе про global:
Минимизируйте количество глобальных переменных
После чего идёт объяснение, почему.
Мне интересно, Виктор, вы вообще вашего любимого Лутца читали или нет?

Добавлено через 32 минуты
В ООП есть такая штука - инкапсуляция. В питоне инкапсуляция не является строгой, поэтому Лутц про неё не написал, а Viktorrus, соответственно, не прочитал. Но тем не менее, какие-то дядьки её придумали. Интересно, зачем?
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
15.10.2020, 17:29
Jeyzihno, Как я понимаю, Вы пока не изучали ООП. Но на всякий случай даю пример, как с помощью ООП можно исключить все проблемы с глобальными переменными в проектах любой сложности и использовать глобальные переменные без каких либо ограничений. И даже в качестве бонуса глобальные переменные, кроме обычного значения, при необходимости могут содержать любое количество дополнительных атрибутов.
В примере два файла, основной file1 и модуль module1, который импортируется из основного файла. В обоих файлах глобальные переменные имеют абсолютно одинаковые имена, но являются экземплярами разных классов, поэтому любые конфликты или какие либо другие проблемы исключаются. И мы спокойно можем использовать все достоинства глобальных переменных.
Основной файл file1:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# file1 пример создания глобальных переменных с помощью класса
 
from module1 import *
 
class Globs_file1:                   # file1 - имя файла, где находится данный код
    def __init__(self, val=None):
        self.val = val              # значение глобальной переменной
 
s = Globs_file1()                    # инициализация глобальной переменной s
s.val = 0                           # присвоить значение глобальной переменной s
 
def qwe():
    for i in range(1, 5):
        s.val = s.val + i
 
 
def asd():
    q = s.val + 5
    print(q)
 
qwe()
asd()
print('*******************************************')
qwe_m()
asd_m()
 
# При необходимости глобальным переменным можно присваивать дополнительные атрибуты.

Импортируемый модуль module1:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# module1 пример создания глобальных переменных с помощью класса
 
class Globs_module1:                   # module1 - имя файла, где находится данный код
    def __init__(self, val=None):
        self.val = val              # значение глобальной переменной
 
s = Globs_module1()                    # инициализация глобальной переменной s
s.val = 0                           # присвоить значение глобальной переменной s
 
def qwe_m():
    for i in range(1, 6):
        s.val = s.val + i
 
 
def asd_m():
    q = s.val + 6
    print(q)
 
if __name__ == '__main__':
    qwe_m()
    asd_m()
 
    # При необходимости глобальным переменным можно присваивать дополнительные атрибуты.


Добавлено через 9 минут
На самом деле имена функций так же являются глобальными переменными и могут провоцировать конфликты. Что бы полностью нейтрализовать конфликты, можно и функции сделать методами (атрибутами) экземпляра класса. Но не буду перегружать свой комментарий, кому это понадобится, сами это сделают.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
15.10.2020, 17:34
Jeyzihno, не слушайте его, он вас плохому научит!!!
0
15.02.2021, 14:59

Не по теме:

dondublon, Ведет против меня войну по всем фронтам (по всем топикам). Но меня это только забавляет. Главное только что бы он сам себе не навредил, слишком усердствуя в этой войне.:)
Не собираюсь вступать с ним в дискуссию, так как это бесполезно против таких как он фанатов. Для него это как религия, он постоянно в качестве доказательства на кого то ссылается, как верующие к библии.
Я же не обращая на него внимания буду продолжать высказывать свое мнение, стараясь обосновывать его. А ошибочно оно или нет решать Вам, Это всего лишь мое мнение. В отличие от dondublon, я не претендую на роль иконы, которой нужно просто поклоняться.:)

0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
15.02.2021, 15:33

Не по теме:

Viktorrus, я воюю? Да бог с вами. Я вас воспитываю, исключительно из человеколюбия.



Добавлено через 9 минут
Цитата Сообщение от Viktorrus Посмотреть сообщение
Для него это как религия, он постоянно в качестве доказательства на кого то ссылается, как верующие к библии.
Найдите у меня хоть одну ссылку на кого-то. Вот вы постоянно ссылаетесь на Лутца, это да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2021, 15:33
Помогаю со студенческими работами здесь

Переход между функциями в tkinter
Доброго времени! Недавно начал изучать Python, опыта нет. Наткнулся на tkinter и библиотека заинтересовала. Пробовал реализовать...

Закрашивание области между функциями на графике
Добрый вечер. Не могу закрасить область между 7 функциями. Использую такую конструкцию: plt.fill_between(x, y, where = ((y>=0)...

Как сделать общую переменную между функциями

Передача переменных между функциями
Здравствуйте! Вот есть код, который должен отправлять письмо с полученными методом $_POST данными: <html> <head> ...

Передача значений переменных функциями
Подскажите пожалуйста, как реализовать эту функцию с помощью указателя (а не ссылки). int clearstr(student& a) { delete a.pi; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru