python 中 input 和 eval 使用有个bug?怎么解决

!1633965585750-8e55cc64-4503-4ab9-80c7-2216a882bd0b-image.png
!

这样可以输入任何数字,但是必须得输入一个值,如果 不输入,直接enter 运行,就会报错。

这个有什么办法处理。

而我又必须需要 从 字符串 里 提取 数字进行计算。

@k1995 感谢您提供的思路,我貌似找到方法了,看来要去学下 正则表达式了,把您代码里的

"\d+"

改成这个

r"\d+\.?\d*"

就可以提取整数或者小数了。

你要从字符串中提取数字,可以用正则表达式

import re

a = input("请输入1个数字:")
b = re.findall("\d+", a)[0]
print(b)

测试结果:

请输入1个数字:ads12323
12323

兄弟这哪是bug,eval 不是这么用的啊。