首先是shell


等邊三角形

[root@hxy?my_script]#?sh?ff.sh
num:6*************************
***********
[root@hxy?my_script]#?cat?ff.sh
#!/bin/bash
#########################################################################
#?File?Name:?ff.sh
#?Author:?huxianyong
#?mail:?hxy123@163.com
#?Created?Time:?2017年06月07日?星期三?16時41分14秒
#########################################################################read?-p?"num:"?num
for((i=1;i<=$num;i++))
dofor((j=$num;j>i;j--))doecho?-e?"?\c"donefor((l=1;l<=i;l++))doecho?-e?"*\c"donefor((r=1;r<i;r++))doecho?-e?"*\c"doneecho
done或者read?-p?"num:"?num
for((i=1;i<=$num;i++))
dofor((j=$num;j>i;j--))doecho?-e?"?\c"donefor((l=1;l<=2*i-1;l++))doecho?-e?"*\c"doneecho
done
[root@hxy?my_script]#?sh?ff.sh
num:6**?**?*?**?*?*?**?*?*?*?*
*?*?*?*?*?*
[root@hxy?my_script]#?cat?ff.sh
#!/bin/bash
#########################################################################
#?File?Name:?ff.sh
#?Author:?huxianyong
#?mail:?hxy123@163.com
#?Created?Time:?2017年06月07日?星期三?16時41分14秒
#########################################################################read?-p?"num:"?num
for((i=1;i<=$num;i++))
dofor((j=$num;j>i;j--))doecho?-e?"?\c"donefor((l=1;l<=i;l++))doecho?-e?"*?\c"doneecho
done

等腰直角三角形

[root@hxy?my_script]#?sh?ff.sh
num:5
*
***
*****
*******
*********[root@hxy?my_script]#?cat?ff.sh
#!/bin/bash
#########################################################################
#?File?Name:?ff.sh
#?Author:?huxianyong
#?mail:?hxy123@163.com
#?Created?Time:?2017年06月07日?星期三?16時41分14秒
#########################################################################read?-p?"num:"?num
for((i=1;i<=$num;i++))
dofor((l=1;l<=2*i-1;l++))doecho?-e?"*\c"doneecho
done

菱形

for?((i?=?1;?i?<?12;?i++))doif?[[?$i?-le?6?]];?thenfor?((j?=?$((12-i));?j?>?i;?j--))doecho?-n?"?";donefor?((m?=?1;?m?<=?$((2*i-1));?m++))do#echo?-n?"$i?"echo?-n?"*?"doneecho?""elif?[[?$i?-gt?6?]];?thenn=$((12-i))for?((j?=?$((12-n));?j?>?n;?j--))doecho?-n?"?";donefor?((m?=?1;?m?<=?$((2*n-1));?m++))do#echo?-n?"$i?"echo?-n?"*?"doneecho?""fidone

其他的形狀大同小異了

python打印菱形

???*********
****************s?=?'*'
for?i?in?range(1,?8,?2):print((s*i).center(7))
for?i?in?reversed(range(1,?6,?2)):print((s*i).center(7))


利用python打印空心正方形

#encoding=utf-8
num?=?input("please?input?you?number:?")
b=c=int(num)
print("?*?"?*?int(num))
while?0?<?c?-?2:c?-=1print("?*?"?+?"???"*(b?-?2)?+?"?*?")print("?*?"?*?int(num))