python基础教程100例题: 17&18

16题已经在10题用time函数的sleep()时已经讲过,故不再展示。

17、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

         17题主要是回顾字符串的内部代码,用自带的help文件也可以找到相应解释。

isalpha(self, /)Return True if the string is an alphabetic string, False otherwise.
isdigit(self, /)Return True if the string is a digit string, False otherwise.
isspace(self, /)Return True if the string is a whitespace string, False otherwise.
s = input('字符串:')
letter = 0
space = 0
digit = 0
other = 0
for i in s:
    if i.isalpha():
        letter += 1
    if i.isspace():
        space += 1
    if i.isdigit():
        digit += 1
other = len(s) - letter - space - digit
print(letter,space,digit,other)

18、 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

         这道题最主要是确定每次的加数是多少。如果是2,那么第一个数字就是number1 = 2,第二个数字number2 = 2 * 10 + 2,第三个数字就number3 = number * 10 + 2 , 第四个数字number4 = number3 * 10 +2……依次类推。所以每次加的数字都是原始的数字,而前面乘10的数字number是上一个结果,所以在下面的代码中又设置了新的字母代表最开始设置的数字。

a = int(input("数字:"))
n = int(input("次数:"))
sum = 0
b = a
for i in range(1,n+1):
    sum += b
    b = b * 10 + a
print(sum)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值