題目:
計算 s = a + aa + aaa + ... +
,其中 a 為 [1, 9] 之間的整數,最后一項表示 n 個 a,a 與 n 由鍵盤輸入,
分析:
設定一個變數 m , 從 0 開始,假設 a 為 9:
第1次回圈:m = 10 * m + a,結果是:a;【m = 10 * 0 + 9 = 9】
第2次回圈:m = 10 * m + a,結果是:aa; 【m = 10 * 9 + 9 = 99】
第3次回圈:m = 10 * m + a,結果是:aa; 【m = 10 * 99 + 9 = 999】
...
第 n 次回圈:m = 10 * m + a,結果是:aa...a (n個a); 【m = 10 * 9(n-1 個 9 ) + 9 = 99...9(n 個 9)】
程式實作:
def sum_numbers(a, n):
'''
計算 n 個 a aa aaa ... n個a的和
:param a: 表示 [1, 9] 之間的整數
:param n: 表示 n 個整數位
:return: None
'''
total = 0 # 記錄最后的和
m = 0 # 表示每次回圈生成的 幾個a 的數
if a > 0 and a < 10 and n > 0:
for i in range(n):
m = 10 * m + a
total += m
if i < n - 1:
print(m, end=' + ')
else:
print(m, end=' = ')
print(total)
sum_numbers(5, 5)
【結語】以上整個程式的實作邏輯,還存在很多不全面的地方,歡迎各位大佬指點;如果覺得筆者不易,請給予點贊,給予我記錄更多文章的動力!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241334.html
標籤:python
