精华内容
下载资源
问答
  • python打印菱形
    2022-06-22 22:41:25

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    由于最近在重新学习Python,学完条件语句与循环语句之后,遇到的第一个练习题就是如何打印菱形,题目就不赘述了,请看前面一篇文章,前面文章中采用了三种策略进行菱形打印,今天在学习字符串方法是有学到format格式化输出,于时产生了用格式化输出打印菱形的想法。


    一、难点

    在我前面的打印策略中,难点主要有两个,一个是找到行号与空格之间的关系,另一个是找到行号与星星之间的关系,最后采用的字符串的方法可以忽略空格的问题,同样format格式化输出也可以忽略空格的问题

    二、策略

    x=int(input('请输入菱形的行数(必须是奇数):'))
    j=x//2#取菱形的中间行,因为菱形中间行星星的个数是Python控制台输入的数字,且没有空格
    #打印上半部分
    for i in range(1,j+2):
        print('{:^{num}}'.format('*'*(2*i-1),num=x))
    #打印下半部分
    while j>=1:
        print('{:^{num}}'.format('*'*(2*j-1),num=x))
        j=j-1
    
    输出结果:
    请输入菱形的行数(必须是奇数):11
         *     
        ***    
       *****   
      *******  
     ********* 
    ***********
     ********* 
      *******  
       *****   
        ***    
         *     
    

    关于字符串方法将会在后续的文章介绍

    总结

    主要采用字符串format格式化输出的方法打印菱形

    更多相关内容
  • python打印菱形

    千次阅读 2022-04-01 11:28:07
    for i in range(4): #先打印上面的三角,即前四行 for j in range(3 - i): print(end=' ') # 打印每一行前面的空格,单引号里面要加入一个空格 for w in range(2 * i + 1): #开始打印* print('*', end=('')) # ...

    1.如何实现下图:

    2.代码实现:

    for i in range(4): #先打印上面的三角,即前四行
        for j in range(3 - i):
            print(end=' ')  # 打印每一行前面的空格,单引号里面要加入一个空格
        for w in range(2 * i + 1): #开始打印*
            print('*', end=('')) # end=('') # 表示在每一次小循环里不换行进行输出
        print('') # 小循环结束后,实现换行输出
    for i in range(3): #打印后三行,方法如上
        for j in range(i + 1):
            print(end=' ')
        for x in range(5 - 2 * i):
            print('*', end='')
        print('')

     3.总结:通过数学归纳,找出每行空格、‘*’与行数的数学关系即可。

    展开全文
  • Python 打印菱形

    千次阅读 2022-04-17 17:59:30
    * *** ... layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) #上半部分 for i in range(1,layer // 2 + 2): #计算空格的个数 spce_num = layer - i for j in range...
        * 
      ***
     *****
    *******
     *****
      ***
       * 
    layer = int(input("请输入要打印的行数:"))
    while layer % 2 == 0: 
    	layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) 
    	#上半部分 
    	for i in range(1,layer // 2 + 2): 
    	#计算空格的个数 
    		spce_num = layer - i 
    		for j in range(0,spce_num): 
    			print(" ",end="") 
    	#计算*个数 
    		star_num = 2 * i - 1 
    		for j in range(0,star_num):
    			print("*",end="") 
    		print("") 
    		#下半部分 
    	for i in range(layer // 2 ,0,-1): 
    	#计算空格的个数 
    		spce_num = layer - i  
    		for j in range(0,spce_num): 
    			print(" ",end="") 
    		#计算*个数 
    		star_num = 2 * i - 1 
    		for j in range(0,star_num): 
    			print("*",end="") 
    		print("")
       
       * 
      * *
     *   *
    *     *
     *   *
      * *
       * 
    layer = int(input("请输入要打印的行数:"))
    while layer % 2 == 0: 
    	layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) 
    #上半部分 
    for i in range(1,layer // 2 + 2): 
    	#计算空格的个数 
    	spce_num = layer - i 
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num):
    		if j == 0 or j == star_num - 1:
    			print("*",end="") 
    		else :
    			print(" ",end = "")
    	print("") 
    #下半部分 
    for i in range(layer // 2 ,0,-1): 
    	#计算空格的个数 
    	spce_num = layer - i  
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num): 
    		if j == 0 or j == star_num - 1:
    			print("*",end="")
    		else :
    			print(" ",end="") 
    	print("")
       * 
      * *
     *   *
    ******
     *   *
      * *
       * 
    layer = int(input("请输入要打印的行数:"))
    while layer % 2 == 0: 
    	layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) 
    #上半部分 
    for i in range(1,layer // 2 + 2): 
    	#计算空格的个数 
    	spce_num = layer - i 
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num):
    		if j == 0 or j == star_num - 1 or i == layer // 2 + 1:
    			print("*",end="") 
    		else :
    			print(" ",end = "")
    	print("") 
    #下半部分 
    for i in range(layer // 2 ,0,-1): 
    	#计算空格的个数 
    	spce_num = layer - i  
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num): 
    		if j == 0 or j == star_num - 1:
    			print("*",end="")
    		else :
    			print(" ",end="") 
    	print("")
        *
       ***
      * * *
    *******
      * * *
       ***
        *
    layer = int(input("请输入要打印的行数:"))
    while layer % 2 == 0: 
    	layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) 
    #上半部分 
    for i in range(1,layer // 2 + 2): 
    	#计算空格的个数 
    	spce_num = layer - i 
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num):
    		if j == 0 or j == star_num - 1 or i == layer // 2 + 1 or j == star_num // 2:
    			print("*",end="") 
    		else :
    			print(" ",end = "")
    	print("") 
    #下半部分 
    for i in range(layer // 2 ,0,-1): 
    	#计算空格的个数 
    	spce_num = layer - i  
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num): 
    		if j == 0 or j == star_num - 1 or j == star_num // 2:
    			print("*",end="")
    		else :
    			print(" ",end="") 
    	print("")
       *
      ***
     * * *
    *******
       *
       *
       *
    layer = int(input("请输入要打印的行数:"))
    while layer % 2 == 0: 
    	layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) 
    #上半部分 
    for i in range(1,layer // 2 + 2): 
    	#计算空格的个数 
    	spce_num = layer - i 
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num):
    		if j == 0 or j == star_num - 1 or i == layer // 2 + 1 or j == star_num // 2:
    			print("*",end="") 
    		else :
    			print(" ",end = "")
    	print("") 
    #下半部分 
    for i in range(layer // 2 ,0,-1): 
    	#计算空格的个数 
    	spce_num = layer - i  
    	for j in range(0,spce_num): 
    		print(" ",end="") 
    	#计算*个数 
    	star_num = 2 * i - 1 
    	for j in range(0,star_num): 
    		if j == star_num // 2:
    			print("*",end="")
    		else :
    			print(" ",end="") 
    	print("")

    展开全文
  • Python打印菱形

    千次阅读 2021-03-04 20:42:45
    打印菱形,是Python中比较简单的一道题,在PTA上也很常见的,打印的菱形也很多种,简单展示一下代码。 一、菱形 二、题目如下: 三、样例 四、代码 代码如下(示例): if __name__ == '__main__': m = int...


    前言

    打印菱形,是Python中比较简单的一道题,在PTA上也很常见的,打印的菱形也很多种,简单展示一下代码。


    一、菱形

    二、题目如下:

    在这里插入图片描述

    三、样例

    在这里插入图片描述

    四、代码

    代码如下(示例):

    if __name__ == '__main__':
        m = int(input())
        n = 2 * m - 1
        s = '*'
        for i in range(1, 2 * m, 2):
            print((s * i).center(n))
        for i in reversed(range(1, n-1, 2)):
            print((s * i).center(n))
    
    

    在这里插入图片描述


    展开全文
  • python打印菱形的实操方法和代码

    千次阅读 2021-01-29 22:05:58
    python怎么打印菱形?下面给大家带来三种方法:第一种rows = int(input('请输入菱形边长:\n'))row = 1while row <= rows:col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数while col <= (rows-row):...
  • 本篇文章通过代码实例给大家详细分析了Python打印菱形”星号代码方法,对此有需要的朋友参考下吧。
  • 打印菱形与空心菱形 一、菱形 (菱形行数数偶数行)分为一个正三角形和一个倒三角形 layer = int(input("请输入打印的行数:")) while layer % 2 == 0: layer = int(input("对不起,请输入奇数行:")) #上半部分 分为...
  • 第一种(自己想的,有点麻烦):rows = int(input('请输入菱形边长:n'))row = 1while row <= rows:col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数while col <= (rows-row): # 这个内层while就是...
  • python打印菱形三种方法

    万次阅读 多人点赞 2019-03-14 22:04:20
    rows = int(input('请输入菱形边长:\n')) row = 1 while row &lt;= rows: col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数 while col &lt;= (rows-row): # 这个内层while就是单纯打印空格 ...
  • python打印菱形

    2021-02-04 13:49:57
    此外,这给了菱形之间适当的间距。在i, j = map(int, input().split())# Create the top halflines = [];for lineIndex in range(i):lines.append('')lines[lineIndex] = ' ' * (i - lineIndex) + '*'for idx in ran...
  • /usr/bin/python #coding:utf-8 rows = int(input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 #等腰直角三角形1 print("等腰直角三角形1") ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,399
精华内容 1,359
关键字:

python打印菱形

友情链接: FAS User Guide's.zip