|
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
|
||||||
Перевод массива комплексных чисел в массив float. Инициализация двумерного массива28.03.2018, 18:44. Показов 3215. Ответов 7
Метки нет (Все метки)
Здравствуйте! Начал осваивать python и никак не могу разобраться. Есть массив list, состоящий из n числа строк и 2048 столбцов, значения в этих ячейках формата complex128. Мне нужно преобразовать эти ячейки из comlex128 в float (отсечь мнимую часть и записать только вещественную), вот функция:
Так же, как дополнительный вопрос, вопрос связанные с локализацией переменных. Иногда получается так, что функция может прочитать переменную, которая была создана вне тела, вопрос в том, как и почему это происходит. В C++ это невозможно(если не объявлена global), и тут это очень мешает при написании кода. Приведу пример, если переменная типа result была уже создана в main , то функция не требует её локальной инициализации внутри, но в моем понимании это неправильно. Растолкуйте пожалуйста. Заранее большое спасибо !
0
|
||||||
| 28.03.2018, 18:44 | |
|
Ответы с готовыми решениями:
7
На основе массива mas комплексных чисел создать массив mas1, содержащий числа из массива mas, у которых sum re && im > 0 Перевод двумерного массива в одномерный массив, введённый с клавиатуры Инициализация двумерного массива |
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
||||||
| 28.03.2018, 23:46 | ||||||
Сообщение было отмечено fyria30 как решение
Решение
input зарезервировано питоном, перекрывать его не надо
1. сначала массив инициализируй, например
1
|
||||||
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
||
| 29.03.2018, 11:18 | ||
Сообщение было отмечено fyria30 как решение
Решение
1. В С++ нет оператора global. Поэтому все переменные во вложенной функции, которые не объявлены внутри нее, считаются глобальными. Другими словами, если вы хотите, что-бы внутри функции переменная была локальной - вы ее явно описываете. Если хотите, что-бы она была глобальной - внутри функции эта переменная используется без явного описания. Такая логика естественна для языка со строго типизацией. 2. В Python - строго наоборот. Поскольку Python язык без строгой типизации, в нем есть оператор global. Логика следующая. Если вы хотите внутри функции указать, что используется глобальная переменная, вы явно сообщаете это интерпретатору путем использования описателя global. Если же внутри функции переменная локальная - то работаете как обычно, т.е. не описывая ее явно.
1
|
||
|
Фрилансер
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
||
| 29.03.2018, 11:51 | ||
Сообщение было отмечено fyria30 как решение
Решение
1
|
||
|
1 / 1 / 0
Регистрация: 11.07.2015
Сообщений: 62
|
|
| 29.03.2018, 12:46 [ТС] | |
|
Огромное спасибо, теперь стало понятно !
0
|
|
|
|
|||||||
| 29.03.2018, 16:37 | |||||||
|
Вот если б вы использовали numpy - было б куда проще.
0
|
|||||||
|
Просто Лис
|
|||||||||||||||||
| 29.03.2018, 17:22 | |||||||||||||||||
А ТС могу посоветовать не пользоваться глобальными переменными. Или по минимуму. Добавлено через 1 минуту
1
|
|||||||||||||||||
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
||||||
| 29.03.2018, 18:21 | ||||||
|
Спорить конечно не стану. Но мне кажется - так (по крайней мере для новичков) будет яснее:
Что мы делаем внутри функции:
1
|
||||||
| 29.03.2018, 18:21 | |
|
Помогаю со студенческими работами здесь
8
Инициализация двумерного массива Инициализация двумерного массива Инициализация двумерного массива Инициализация двумерного массива Инициализация двумерного массива. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|