请输入打印行数(必须是奇数):5
  *
 ***
*****
 ***
  *

#coding=utf-8
s = int(input('请输入打印行数(必须是奇数):'))#打印的行数

x = 1;
while x <= s:#控制打印行数
    y = 1;
    n = abs(x - s//2 - 1)#设置当前行打印的空格
    m = s - n#设置当前行所需要打印的字符数
    while y <= m:#控制每行打印的字符
        if y <= n:
            print(" ", end = "")
        else:
            print("*", end = "")
        y += 1
    print()
    x += 1

#coding=utf-8
s = int(input('请输入一个奇数:'));

x = 1;
while x <= s:
    y = 1;
    n = abs(x - s//2 - 1)
    print(" " * n, end = "")
    print("*" * (s - 2 * n))
    x += 1

通过所需打印的图形分析(*后的空格可以不打印)

打印内容 所需打印的最少字符 所需打印的空格
1 _ _ * _ _ 3 2
2 _ * * * _ 4 1
3 * * * * * 5 0
4 _ * * *_ 4 1
5 _ _ * _ _ 3 2

通过对比可以看出第三行前后是对称的,我们就可以根据绝对值来进行实现循环控制;

因为第三行为对称行,我们可以得到第三行的位置为 s//2 + 1;

我们通过观察可以看出:行与打印空格的关系为当前行至第三行的距离的绝对值  |i - (s//2 + 1)|;打印的最少字符与打印空格的关系为s - |i - (s//2 + 1)|。

Python输入一个奇数打印出菱形相关推荐

  1. python输入时间_【转】python 输入一个时间,获取这个时间的下一秒

    输入一个时间,获取这个时间的下一秒 PS:下面代码使用于 python 2.7 time1 = raw_input("输入一个时间[HH:MM:SS]:") time1List = ...

  2. 根据用户输入的总行数(奇数),打印出菱形(总行数与总列数相等)。

    [题目描述] 根据用户输入的总行数(奇数),打印出菱形(总行数与总列数相等). [输入] 一个整数n. [输出] 指定格式的菱形. [样例输入] 11↙ [样例输出] * *** ***** **** ...

  3. 输入一个奇数,用符号*打印菱形图案

    Console.WriteLine("输入一个奇数"); int num = int.Parse(Console.ReadLine(

  4. python 如何用*号打印出等腰三角形和菱形

    在学习python的循环语句时,老师经常会要求我们用循环语句打印出三角形或菱形,今天俺就来演示演示如何用*打印出图形. 1.首先来看看如何打印出等腰三角形(如图): layer = int(input ...

  5. python打印长方形_利用python打印出菱形、三角形以及矩形的方法实例

    前言 本文主要给大家介绍了关于利用python打印出菱形.三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 实例代码 #coding:utf-8 rows = int ...

  6. python 输入学生成绩大于 90为优_c++ 输入学生成绩,打印出该学生成绩等级,大于等于90为A,小于90且大于等于80为B,小...

    c++ 输入学生成绩,打印出该学生成绩等级,大于等于90为A,小于90且大于等于80为B,小以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶 ...

  7. python基础练习----输入一个奇数,然后判断最少几个 9 除于该数的结果为整数

    程序分析:利用for循环,当9不能被奇数n整数时,加90,构成90+9,再不能加900,构成900+99 1 # -*- coding:utf-8 -*-2 3 n = input('请输入一个奇数: ...

  8. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  9. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

最新文章

  1. 是vans_你知道VANS有哪些好鞋不贵系列?
  2. 18 常用模块 random shutil shevle logging sys.stdin/out/err
  3. No.3 clojure 调用 Java
  4. 北京python培训班价格-北京Python启蒙班
  5. 最大信息系数MIC--minepy安装
  6. c语言笔记照片_C语言学习笔记
  7. VS 中配置使用Visual SVN系列 五:SVN Client的配置和使用
  8. php爬去百度图片,python爬虫:随心所欲地爬取百度图片
  9. thinkphp使用echarts_Thinkphp 与Echarts-php 使用
  10. python怎么播放mp3_python上播放mp3歌曲
  11. 潜安 | 分享最新最前沿的IT教程
  12. jracdrive变频器说明书580_ABB变频器ACS580说明书.pdf
  13. linux下hadoop 环境搭建
  14. 软件测试经典案例佣金问题,佣金等价划分和测试用例设计.PPT
  15. SODB、RBSP和EBSP
  16. 13-24.产品经理入门到精通(二)
  17. 中国在线直播行业用户规模达6.35亿人,约97.3%的主播年收入在3万元以下 | 美通社头条...
  18. 【英语】及物动词和不及物动词的区别vt、vi
  19. Java学习笔记----------集合Set
  20. java web常用且实用的网站收集

热门文章

  1. 【大总结】几种安装linux操作系统的方法
  2. 奥运开幕式引发的遐想
  3. C#在聊天室中经常遇到屏蔽脏话功能,完成当用户输入一句话中带有“sb”,则将“sb”替换成“**”
  4. 被创新工场、君联和华熙集团先后翻牌子,因为它把古风二次元玩得特别溜!
  5. 保护静止的iOS数据:加密
  6. MongoDB快速上手
  7. Js-写一个函数,实现反转任意数组
  8. 公众号开发(二)--菜单管理
  9. 大量Linux资源下载地址
  10. js与jquery获取子节点、父节点、兄弟节点的方法