Beginning Zeros

该博客讨论了如何在Python中计算一个只包含数字的字符串开头有多少个零。提供了两种解决方案:一种是通过for循环逐个检查字符,另一种是利用内置的字符串strip方法。示例测试用例展示了不同输入情况下函数的正确输出。
摘要由CSDN通过智能技术生成

 

问题描述:

You have a string that consist only of digits. You need to find how many zero digits ("0") are at the beginning of the given string.(一共有多少个0在字符串前面)

Input: A string, that consist of digits.

Output: An Int.

def beginning_zeros(number: str) -> int:
    # your code here
    return 0


if __name__ == '__main__':
    print("Example:")
    print(beginning_zeros('100'))

    # These "asserts" are used for self-checking and not for an auto-testing
    assert beginning_zeros('100') == 0
    assert beginning_zeros('001') == 2
    assert beginning_zeros('100100') == 0
    assert beginning_zeros('001001') == 2
    assert beginning_zeros('012345679') == 1
    assert beginning_zeros('0000') == 4
    print("Coding complete? Click 'Check' to earn cool rewards!")

要求是输入是一个字符串,输出是一个整数。然后统计一共有多少个0出现在前面。

for循环历遍整个字符串,遇到0就统计加一,遇到非0就返回统计。

def beginning_zeros(number: str) -> int:
    # your code here
    c=0
    for i in number:
        if i=='0':
            c+=1
        else:
            return c
    return c

其他解决方案,

def beginning_zeros(number: str) -> int:
    return len(number) - len(number.lstrip('0'))

这个方法也很好,把整个字符串的长度减去,去掉左边所有0之后的字符串的长度。

str.lstrip([chars])

返回原字符串的副本,移除其中的前导字符(就是左边的字符,lstrip就是leftstrip左边剥离)。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空白符。 实际上 chars 参数并非指定单个前缀;而是会移除参数值的所有组合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值