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進行擴充,在轉換為數值進行計算。

測試如下:字符*數值,就是幾個字符堆在一起。

image


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM