从键盘输入一个字符串,把字符串中的数字字符分离出来并组成一个整数,再乘以数字字符的个数后输出

从键盘输入一个字符串,把字符串中的数字字符分离出来并组成一个整数,再乘以数字字符的个数后输出

import re
string=input()
list_str1=re.findall(r"\d*",string)
list_num=''.join(list_str1)
print(int(list_num)*len(list_num))

用列表解析式写即可:

#输入字符串
s=input()
#分离出数字
nums=[x for x in s if x.isdigit()]
#合并成整数
num=int(''.join(nums))
#输出结果
print(num*len(nums))   

运行:

F:\2021\qa\ot2>t8  
16abc32def
6528

如对你有帮助,请点击采纳。

1、先把字符串的每个元素分隔出来形成数组。
2、使用正则表达式 /^[0-9]+.?[0-9]/ 和循环遍历分离出数组中的数字 放到新的数组中。
3、将新数组转成字符串,然后再从字符串转数字类型。
4、返回已经转成数字类型的值
新数组的长度的结果。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    </body>
</html>
<script type="text/javascript">
    function a(str){
        let arr = str.split('')//分割成数组
        let newarr = []
        arr.map(item=>{
            var re = /^[0-9]+.?[0-9]*/
            if(re.test(item)) {
                newarr.push(item)
            }
        })//分离出字符串里的数字
        let length = newarr.length//数组的长度
        let num = newarr.join('')*1//字符串转number
        return num*length
    }
    console.log(a('4f5dsa'))
</script>