打印星星是经典面试题目,考察流程控制中的循环和条件。本文对相关方法进行总结。到的方法只要有(1)嵌套循环(2)center(3)format(^)(4)字符串乘法

# -*- coding:utf-8 -*-

# 方法一:循环嵌套

num = 10

for row in range(num):

print('{:<8d}'.format(row+1), end='')

print((num - row) * ' ', end='') # 输出空格,这里可以用乘号

for col in range(2 * row + 1):

if col == 0 or col == 2*row or row == num-1: # 条件:左右边界或下边界,打印*,否则打印空格

print('*', end='')

else:

print(' ', end='')

print() # 打印完没一行,一定要记得换行

for row in range(num-2, -1, -1):

print('{:<8d}'.format(row+1), end='')

for j in range(num-row): # 输出空格,这里有可以用循环

print(' ', end = '')

for col in range(2 * row + 1):

if col == 0 or col == 2*row:

print('*', end='')

else:

print(' ', end='')

print()

# 以下方法只使用于实心情形

# 方法二:center

num = 10

print(2*num*'-','原始center')

for row in range(num):

print('{:<8d}'.format(row + 1), end='')

print(((row+1) * '*').center(20, ' '))

print('\n', 2*num*'-', '改进版本1-奇数-center')

for row in range(1, 2*num, 2):

print('{:<8d}'.format(row), end='')

print((row * '*').center(20, ' '))

print('\n', 2*num*'-', '改进版本2-空格-center')

for row in range(num):

print('{:<8d}'.format(row + 1), end='')

print(((row+1) * '* ').center(20, ' '))

# 方法三:format(^)

num = 10

print('\n',2*num*'-','方法3-空格-format', end='')

for row in range(num):

print('{:<8d}'.format(row), end='')

print('{:^20s}'.format('* '*row))

运行结果如下:

1 *

2 * *

3 * *

4 * *

5 * *

6 * *

7 * *

8 * *

9 * *

10 *******************

9 * *

8 * *

7 * *

6 * *

5 * *

4 * *

3 * *

2 * *

1 *

-------------------- 原始center

1 *

2 **

3 ***

4 ****

5 *****

6 ******

7 *******

8 ********

9 *********

10 **********

-------------------- 改进版本1-奇数-center

1 *

3 ***

5 *****

7 *******

9 *********

11 ***********

13 *************

15 ***************

17 *****************

19 *******************

-------------------- 改进版本2-空格-center

1 *

2 * *

3 * * *

4 * * * *

5 * * * * *

6 * * * * * *

7 * * * * * * *

8 * * * * * * * *

9 * * * * * * * * *

10 * * * * * * * * * *

-------------------- 方法3-空格-format0

1 *

2 * *

3 * * *

4 * * * *

5 * * * * *

6 * * * * * *

7 * * * * * * *

8 * * * * * * * *

9 * * * * * * * * *

Process finished with exit code 0

补充一个C++版本:

(2018/10/22)

#include

using namespace std;

int main()

{

const int size = 6;

for (int i = 0; i < size; i++) {

cout << i << '\t';

for (int j = 0; j < (2*size-1); j++) {

if (j == i || j == (2*size-2-i) || i == 0) {

cout << '*';

} else {

cout << ' ' ;

}

}

cout << endl;

}

return 0;

}

运行结果:

0 ***********

1 * *

2 * *

3 * *

4 * *

5 *

python实践输出星星_打印星星 - Python相关推荐

  1. python实践报告总结_关于开发Python项目的心得总结

    最近照着<Python编程从入门到实践>这本书上的内容,开发了第一个完整的Python项目.之前都是用Python写一些脚本什么的,这是第一次开发一个完整的项目,现将在开发过程中的一些心得 ...

  2. python怎么输出结果_如何在python中打印SQLite查询的结果?

    我试图打印这个SQLite查询的结果来检查它是否已经将数据存储在数据库中.目前它只打印None.有没有办法在Microsoft Word或LibreOffice等程序中打开数据库.只是为了看看它是否已 ...

  3. python螺旋输出矩阵_飘逸的python - 打印螺旋矩阵

    算法分析: 螺旋矩阵用二维数组表示,坐标(x,y),即(x轴坐标,y轴坐标) 顺时针螺旋的方向是->右,下,左,上,用数值表示即是x加1格(1,0),y加1格(0,1),x减1格(-1,0),y ...

  4. python怎么输出图像测试_如何在python中对作为输入和输出的图像进行单元测试?...

    我正在用Python对对象检测code(接受答案)进行单元测试.我知道在单元测试中,我们基本上是把测试参数放入我们在程序中定义的函数,然后输入预期的结果.如果预期的结果是输出,我们得到OK,否则,我们 ...

  5. python循环输出一句话_执行下列 Python语句后的输出结果是( ),循环执行了 1 次。i=-1;while(i0): i *=iprint(i)_学小易找答案...

    [判断题]我们应该找到一种有益于健康的好方法,那么这种办法一定就是体育锻炼,我们应该将它悄悄带入我们的生活. [单选题]形成阳极效应的原因是 [单选题]有以下程序#include void fun(c ...

  6. python实践输出星星_python中怎么打印星星

    for循环: 1.有大括号与无大括号的区别: 循环体只能有一条语句, 如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句.//for循环如此,while循环也是如此. for(int i= ...

  7. python中输出菱形_用python打印菱形的实操方法和代码

    python怎么打印菱形?下面给大家带来三种方法: 第一种 rows = int(input('请输入菱形边长:\n')) row = 1 while row <= rows: col = 1 ...

  8. Python中while循环练习——打印星星总结

    Python中利用循环打印星星 1.打印直角三角形星星 1.1使用字符串拼接 直角三角形星星有四种情况分别是,如下图所示,假设行数等于列数 其中(1)和(2)属于一种情况,(3)与(4)属于另一种情况 ...

  9. python2中文输出代码_解决vscode python print 输出窗口中文乱码的问题

    解决vscode python print 输出窗口中文乱码的问题 发布时间:2020-09-17 23:53:25 来源:脚本之家 阅读:119 一.搭建 python 环境 在 VSC 中点击 F ...

最新文章

  1. 惯性制导精度是多少_什么叫惯性制导,惯性制导的重要性体现在哪里?
  2. ionic上拉加载-下拉刷新
  3. EPS 转 pdf 在线
  4. 利用matlab点云工具处理点云
  5. Linux系统调用权威指南
  6. 极客大学产品经理训练营 用例Use Case 第8课总结
  7. ARM与x86–蝶变ARM
  8. 白猫使用OCR文字识别
  9. echats统计图表的设计与实现
  10. 基础复习——TextView——文本显示——字体颜色——背景颜色——字体大小——@color/teal_200——@string/hello...
  11. 基于帕累托的多目标遗传算法优化的原理与 Python 实现
  12. linux中如何查看mac地址
  13. Hbuildx 使用vue打包的App实现微信分享功能
  14. Python day13--网络编程
  15. python椭圆特征识别_opencv python中的椭圆检测
  16. 安装H3C Cloud Lab(HCL)时遇到的问题及解决办法汇总
  17. steam创建账号一直验证人工操作_绝地求生轻量版即将登陆STEAM:预约送M416皮肤...
  18. 美团搜索排序设计方案
  19. 一块硬盘装了黑苹果 一块硬盘装了win7_英特尔NUC8黑苹果教程(详细)
  20. Eclipse光标变成黑色方块解决方法

热门文章

  1. 基于安卓的民宿客栈预定App丨有微信小程序
  2. [歪谈]拽一个贵人出来给你当炮架子
  3. day21:接口测试实战(充值recharge)
  4. iOS Healthkit 使用探索分析
  5. 如何让USB-C手机,电脑投屏到VR眼镜方案?还能同时实现充电?乐得瑞LDR6282 转接器方案
  6. 微电影宣传片制作步骤分享。
  7. [USACO18DEC]Fine Dining
  8. 【hadoop生态之Hive】Hive的DML数据操纵语言【笔记+代码】
  9. Python map() 函数 特殊用法
  10. 车载以太网第二弹-实锤|SOME/IP概述及TC8 SOME/IP 测试实践