You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取复数"92+23i"的实部与虚部并存入指定变量?

从复数字符串提取实部和虚部的方法

嘿,这问题挺常见的,我来给你两种实用的Python实现方案,轻松把92+23i里的数值提取出来并存入指定变量:

方法一:字符串分割(适合格式固定的情况)

如果你的复数字符串严格是实部+虚部i的格式,直接用字符串操作就搞定:

# 定义目标字符串
complex_str = "92+23i"

# 移除末尾的虚部标识 'i'
trimmed_str = complex_str[:-1]
# 用 '+' 分割实部和虚部的字符串片段
real_str, imag_str = trimmed_str.split('+')

# 转换为整数并赋值给变量
num_real = int(real_str)
num_imagin = int(imag_str)

# 验证结果
print(num_real)   # 输出:92
print(num_imagin) # 输出:23

注意:如果虚部是负数(比如92-23i),需要把split('+')改成split('-'),同时注意给虚部补回负号哦。

方法二:正则表达式(更健壮,适配多种格式)

如果你的复数字符串可能有正负号变化(比如-92+23i、92-23i),用正则表达式能更灵活地匹配:

import re

complex_str = "92+23i"
# 正则表达式匹配:实部(可选正负号+数字)、虚部(必选正负号+数字)+i
pattern = re.compile(r'([+-]?\d+)([+-]\d+)i')
match_result = pattern.match(complex_str)

if match_result:
    # 提取分组并转换为整数
    num_real = int(match_result.group(1))
    num_imagin = int(match_result.group(2))

print(num_real)   # 输出:92
print(num_imagin) # 输出:23

这个方法能自动识别实部和虚部的正负号,哪怕是更复杂的复数格式也能应对。如果需要处理浮点数(比如92.5+23.3i),只需要把int()换成float()就行。

内容的提问来源于stack exchange,提问作者WildFire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:39:29