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进行扩充,在转换为数值进行计算。
测试如下:字符*数值,就是几个字符堆在一起。
读书和健身总有一个在路上
相关推荐
夜斗不是神 2020-11-17
huavhuahua 2020-11-20
Yasin 2020-11-16
xiaoseyihe 2020-11-16
千锋 2020-11-15
diyanpython 2020-11-12
chunjiekid 2020-11-10
wordmhg 2020-11-06
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16