Python 每日一题(计算数值和)
題目:
? ?計(jì)算 s = a + aa + aaa + ... +?,其中 a 為 [1, 9] 之間的整數(shù),最后一項(xiàng)表示 n 個(gè) a,a 與 n 由鍵盤(pán)輸入。
分析:
? 設(shè)置一個(gè)變量 m , 從 0 開(kāi)始,假設(shè)?a 為 9:
? ? ? ? 第1次循環(huán):m = 10 * m + a,結(jié)果是:a;【m = 10 * 0 + 9 = 9】
? ? ? ? 第2次循環(huán):m = 10 * m + a,結(jié)果是:aa;? 【m = 10 * 9 + 9 = 99】
? ? ? ?第3次循環(huán):m = 10 * m + a,結(jié)果是:aa;? 【m = 10 * 99 + 9 = 999】
? ? ? ?...
? ? ? 第 n 次循環(huán):m = 10 * m + a,結(jié)果是:aa...a (n個(gè)a);? 【m = 10 * 9(n-1 個(gè) 9 )?+ 9 = 99...9(n?個(gè) 9)】
程序?qū)崿F(xiàn):
# 解法1: def sum_numbers(a, n):'''計(jì)算 n 個(gè) a aa aaa ... n個(gè)a的和:param a: 表示 [1, 9] 之間的整數(shù):param n: 表示 n 個(gè)整數(shù)位:return: None'''total = 0 # 記錄最后的和m = 0 # 表示每次循環(huán)生成的 幾個(gè)a 的數(shù)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)實(shí)現(xiàn)結(jié)果:
5 + 55 + 555 + 5555 + 55555 = 61725【結(jié)語(yǔ)】以上整個(gè)程序的實(shí)現(xiàn)邏輯,還存在很多不全面的地方,歡迎各位大佬指點(diǎn);如果覺(jué)得筆者不易,請(qǐng)給予點(diǎn)贊,給予我記錄更多文章的動(dòng)力!!
總結(jié)
以上是生活随笔為你收集整理的Python 每日一题(计算数值和)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux select函数用法和原理
- 下一篇: python安装django模块_pyt