计算数字出现个数python-算法设计与分析实验一

题目:统计数字问题:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,…9。
1.问题分析
可以将页数全部转化为长字符串,然后计算0到9每个字符串出现的次数
2. 问题建模
输入: n
输出:1:a次 2:b次 …9:c次
用0到9依次与每个字符对比相等则加一
3、算法源码

n = int(in = int(input())   #输入页数
numlist = list(range(1, n+1))   #数字列表
numlist = [str(i) for i in numlist]   #转化成字符串
numlist1 = ''.join(numlist) # 结合成一个字符串
x=len(numlist1)  #计算字符串的长度
i = 0
while i <= 9:       # 0到9的数字
    j = 0
    m = 0
    while j < x:     #遍历每一个位置是否与0到9相同
        if i == int(numlist1[j]):
            m = m+1    #相同则加一
        j = j+1
    print("%d:" %i, m,"次",end= "     ")   #输出0到9出现的次数
    i = i +1

4、测试数据
20
5、程序运行结果(要求:截图说明算法运行的结果)
在这里插入图片描述

关注公众号:Time木
更多大学课业实验实训可关注公众号回复相关关键词
学艺不精,若有错误还望指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Time木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值