page contents

Python实战 | 实例教程(6)

实例1 题目: 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 程序分析: 关键是计算出每一项的值。 程序源代码:...

实例1

题目: 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

程序分析: 关键是计算出每一项的值。

程序源代码:

#!/usr/bin/python
  # -*- coding: UTF-8 -*-

  Tn = 0
  Sn = []
  n = int(raw_input('n = :\n'))
  a = int(raw_input('a = :\n'))
  for count in range(n):
      Tn = Tn + a
      a = a * 10
      Sn.append(Tn)
      print Tn

  Sn = reduce(lambda x,y : x + y,Sn)
  print Sn

以上实例输出结果为:

n = :
  2
  a = :
  4
  4
  44
  48

实例2

题目: 打印出如下图案(菱形):

*
  ***
 *****
*******
 *****
  ***
   *

程序分析: 先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

程序源代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from sys import stdout
for i in range(4):
    for j in range(2 - i + 1):
        stdout.write(' ')
    for k in range(2 * i + 1):
        stdout.write('*')
    print

for i in range(3):
    for j in range(i + 1):
        stdout.write(' ')
    for k in range(4 - 2 * i + 1):
        stdout.write('*')
    print

以上实例输出结果为:

*
  ***
 *****
*******
 *****
  ***
   *
  • 发表于 2020-01-20 14:42
  • 阅读 ( 905 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章