每日codingame小游戏练习[2021.4.03](python3入门学习之提取字符串中的数字)

这篇博客介绍了一个简单的Python编程题目,要求读取多行输入并计算每行中数字的个数。作者提供了两种解决方案,一个是自己的15行代码实现,另一个是国外程序员的简洁版本。博客重点讨论了Python的filter()函数、isdigit()方法以及如何在一行中使用for和if语句。同时,还介绍了Python的len()方法和代码优化技巧。
摘要由CSDN通过智能技术生成

题目描述

无文字描述,看实例写代码。
Test 1:

InputOutput
1
Hello World!
0

Test 2:

InputOutput
2
1337 5p3k 15 c001
5pr34d 7h3 w0rd!
11
6

Test 3:

InputOutput
2
abcd1234
a1b2c3d4
4
4

Test 4:

InputOutput
2
xxxxxxxxxx
1111111111
0
10

题目分析

题目很简单,先输入将要输入的行数,然后计算每行中字符串中数字的个数。

解题代码

我的代码:

import sys
import math
a=''
n = int(input())
for i in range(n):
    c=0
    r = input()
    s="".join(list(filter(str.isdigit, r)))
    if s == "":
        print(0)
    for j in s:
            c+=1
            a=c
    if a!='':
        print(a)

法国老哥的代码:

import sys
import math
n = int(input())
for i in range(n):
    print(len([c for c in input() if c.isdigit()]))

总结

1.python提取字符串中的数字
2. filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
3. Python3 isdigit()方法:Python isdigit() 方法检测字符串是否只由数字组成。
4. python if for在同一行:for…[if]…语句一种简洁的构建List的方法。
5. Python len()方法:Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
6. 我用了15行代码来实现,然而外国老哥的代码还是一如既往的短小精悍,值得学习。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值