Python 每日一题(计算数值和)
生活随笔
收集整理的這篇文章主要介紹了
Python 每日一题(计算数值和)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
? ?計算 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)】
程序實現:
# 解法1: 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 + atotal += mif i < n - 1:print(m, end=' + ')else:print(m, end=' = ')print(total)sum_numbers(5, 5)實現結果:
5 + 55 + 555 + 5555 + 55555 = 61725【結語】以上整個程序的實現邏輯,還存在很多不全面的地方,歡迎各位大佬指點;如果覺得筆者不易,請給予點贊,給予我記錄更多文章的動力!!
總結
以上是生活随笔為你收集整理的Python 每日一题(计算数值和)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux select函数用法和原理
- 下一篇: python安装django模块_pyt