执行计算时从Python中单个字符串中的多个单独值中去除多余的0

这是一小段代码,反映了我的程序中的问题区域。

templine = '1 + 100 + 001 + 1.01 + 1.00'
calcline = eval(templine)

所有这些值都单独输入到 tkinter 输入框中,然后使用.get()命令设置为 templine。这些值将根据用户输入而变化,然后将执行计算。calcline 使用类似的代码镜像等号按钮功能。

我想在中间添加一行以'0'从本示例中的代码中删除所有不必要的内容,我希望1 + 100 + 001 + 1.01 + 1.00将其返回为1 + 100 + 1 + 1.01 + 1. 由于该eval()函数不执行'0'整数前面有多余 ' 的数学运算。

我尝试过使用诸如.replace().strip().rstrip之类的东西.lstrip。这些的主要问题是它们从一开始就不适用于任何值。很可能是因为我的方程存储为字符串。将方程字符串转换为执行剥离的列表,然后将其转换回来可能会起作用,但随之而来的问题是如何知道操作数/操作符何时结束/开始。如果可以解决请帮忙。


繁星点点滴滴
浏览 101回答 2
2回答

慕娘9325324

您可以将其分解,去掉零,然后再次将其重新组合成字符串。' + '.join(map(str, map(float,templine.split('+'))))

隔江千里

如果变量可以单独访问,正如你所说。这是一项简单的任务。print(float('1.01000'))输出1.01您所要做的就是对每个变量重复此操作。然后将它们代入方程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python