Python练习题2.4特殊a串数列求和

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++?+aa?a(n个a)之和。

输入格式:

输入在一行中给出不超过9的正整数a和n。

输出格式:

在一行中按照“s = 对应的和”的格式输出。

代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

a,n=map(int,input().split())

#print("s = {:d}".format(sum([int(str(a)*i) for i in range(1,n+1)])))

sum = 0
for i in range(1,n+1):
    sum = sum +int(str(a)*i)
print("s =",sum)

注释的那一行是百度CSDN一位大佬写的。刚开始看到题目,看了半天发现这个规律用普通的算数很难做到,于是请教了下百度。

前面说过,format()函数是将字符串格式化,{:d}是进行十进制转换,其实不转换也可以,大佬比较严谨,

print("s =",sum([int(str(a)*i) for i in range(1,n+1)]))

说下这个程序,简单来说就是将数值a转换为字符然后*i进行扩充,在转换为数值进行计算。

测试如下:字符*数值,就是几个字符堆在一起。

Python练习题2.4特殊a串数列求和


读书和健身总有一个在路上

相关推荐