Python一次菱形练习经历

Python菱形打印 【Python一次菱形练习经历】今天做一个打印菱形的练习,利用边长和对角线的关系来实现。

#输入菱形边长(可以输入任意边长) n=int(input('Please input diamond\'s Side length: '))# 打印对角线长度(对角线长度和边长的关系应该是2n-1) diagonal = 2 * n - 1# 打印空格长度(菱形具有对称性,所以第一个“*”就是对角线的正中间,所以对角线的一半也就是第一行的空格数) space_num = diagonal // 2# 第二次循环计数(初学者对Python代码还不熟悉,对于这个循环次数怎样融入到代码中还在思考) space_num1=1#循环次数是以对角线为参考(diagonal+1:为什么这样做,只是单纯的为了计算空格数) for i in range(1,diagonal+1): if i <= n: print(" " * space_num + (2 * i -1) * "*")# 打印上半个三角形 space_num -= 1 else: print(" " * space_num1+ (diagonal-2) * "*")#打印下半个三角形 diagonal -=2# 下半个三角形"*"数量正好是依次比对角线少两个 space_num1 += 1Please input diamond's Side length: 4 * *** ***** ******* ***** *** *

由于初学Python,所以代码中没有使用Python内置函数,只用了基础语法来实现,而且还存在许多需要优化的部分希望大家帮助指正并改进。 写完后发现有好多简单高效的代码,但是毕竟是辛苦实现的,所以还是share出来吧。

    推荐阅读