問題是選的老男孩老師博客裏面的問題,舉一反三其中也自己也延伸了兩題。
老男孩老師博客的地址http://oldboy.blog.51cto.com/2561410/1718607
言歸正傳,
1.請用shell或Python編寫一個正方形,接收用戶輸入的數字。
方法:vim zhong1.sh
#!/bin/bash read -p "Please Enter a number:" n for ((x=1;x<=$n;x++));do for ((y=1;y<=$n*2;y++))do echo -n "+" done echo "" done
例如2:用■號實現 (zhong2.sh)
方法:vim zhong2.sh
#!/bin/bash read -p "Please Enter a number:" n for ((x=1;x<=$n;x++));do for ((y=1;y<=$n;y++))do echo -n "■ " done echo "" done
2.請用shell或Python編寫一個等腰三角形,接收用戶輸入的數字。
例如:用*號實現 (zhong3.sh)
方法:vim zhong3.sh
#!/bin/bash read -p "Please Enter a number:" n for ((x=1;x<=$n;x++));do for ((z=1;z<=$n-x;z++));do echo -n " " done for ((y=1;y<=a+1;y++));do echo -n "*" done echo a=$((a+2)) done
3.請用shell或Python編寫一個倒等腰三角形,接收用戶輸入的數字。(題二的延生)
例如:用*號實現 (zhong33.sh)
方法:vim zhong33.sh (可以在zhong3.sh的基礎上行改變一下就可以的出來)
#!/bin/bash read -p "Please Enter a number:" n for ((x=1;x<=$n;x++));do for ((z=0;z<x-1;z++));do echo -n " " done for ((y=1;y<=$n-(a+1-$n);y++));do echo -n "*" done echo a=$((a+2)) done
4.請用shell或Python編寫一個菱形,接收用戶輸入的數字。(題二的延生)
例如:用*號實現 (zhong333.sh)
方法:vim zhong333.sh
#!/bin/bash read -p "Please Enter a number:" n for ((x=1;x<=$n;x++));do for ((z=1;z<=$n-x;z++));do echo -n " " done for ((y=1;y<=a+1;y++));do echo -n "*" done echo a=$((a+2)) done b=2 for ((x=1;x<=$n;x++));do for ((z=0;z<=x-1;z++));do echo -n " " done for ((y=1;y<=$n-(b+1-$n);y++));do echo -n "*" done echo b=$((b+2)) done
5.請用shell或Python編寫一個畫直角梯形程序,接收用戶輸入的參數n,m
例如:用*號實現 (zhong4.sh)
方法:vim zhong4.sh
#!/bin/bash for ((x=1;x<=$2;x++));do for ((y=1;y<=$1+a;y++))do echo -n "+ " done a=$((a+1)) echo "" done
以上結果親測過,能完全實現題目的要求
linux環境:Linux 51master 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux