Python中文
首页
教程
问答
标签
搜索
登录
注册
正在尝试将字符串转换为复数列表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试将字符串转换为复数列表。(如果您阅读它时不带引号,那么它将是一个复数列表。)我已经编写了一个函数来执行此操作,但我得到了以下错误:</p> <pre><code>Traceback (most recent call last): File "complex.py", line 26, in <module> print(listCmplx('[1.111 + 2.222j, 3.333 + 4.444j]')) File "complex.py", line 10, in listCmplx while (not isDigit(listIn[count])) and (listIn[count] != '.'): IndexError: string index out of range </code></pre> <p>我做错了什么</p> <pre><code>def isDigit(char): return char in '0123456789' def listCmplx(listIn): listOut = [] count = 0 real = '0' imag = '0' while count < len(listIn): while (not isDigit(listIn[count])) and (listIn[count] != '.'): count += 1 start = count while (isDigit(listIn[count])) or (listIn[count] == '.'): count += 1 end = count if listIn[count] == 'j': imag = listIn[start:end] else: real = listIn[start:end] if listIn[count] == ',': listOut += [float(real) + float(imag) * 1j] real = '0' imag = '0' return listOut print(listCmplx('[1.111 + 2.222j, 3.333 + 4.444j]')) </code></pre> <p>先谢谢你</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>令人惊讶的是,这是Python不需要编写任何函数就可以做到的,它内置了复数类</p> <pre><code>listIn = '1.111 + 2.222j, 3.333 + 4.444j' listOut = eval(listIn) print(listOut[0]) print(listOut[0].imag,listOut[0].real) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
4 回答
如何添加表示整数的擦边字符串?
10 回答
如何添加要在Bokeh中使用的新font.ttf文件?
1 回答
如何添加要显示的矩阵XY轴编号和XY轴
1 回答
如何添加计数?
9 回答
如何添加计数器函数?
6 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
4 回答
如何添加计数器来跟踪while循环中的月份和年份?
3 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
1 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
10 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
10 回答
如何添加评论拉梅尔亚姆
9 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
10 回答
如何添加谷歌地点自动完成到Flask?
3 回答
如何添加超时、python discord bot
10 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
2 回答
如何添加跟随游戏的敌人精灵
7 回答
如何添加路径以便python可以找到程序?
4 回答
如何添加身份验证/安全性以使用happybase访问HBase?
5 回答