为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星点点滴滴 2023-10-06 18:55:11
这是一小段代码,反映了我的程序中的问题区域。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。这些的主要问题是它们从一开始就不适用于任何值。很可能是因为我的方程存储为字符串。将方程字符串转换为执行剥离的列表,然后将其转换回来可能会起作用,但随之而来的问题是如何知道操作数/操作符何时结束/开始。如果可以解决请帮忙。
查看完整描述

2 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

您可以将其分解,去掉零,然后再次将其重新组合成字符串。

' + '.join(map(str, map(float,templine.split('+'))))


查看完整回答
反对 回复 2023-10-06
?
隔江千里

TA贡献1906条经验 获得超10个赞

如果变量可以单独访问,正如你所说。这是一项简单的任务。

print(float('1.01000'))

输出

1.01

您所要做的就是对每个变量重复此操作。然后将它们代入方程。


查看完整回答
反对 回复 2023-10-06
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信