1、输入一个整数n,输出n阶乘法表。
输入样例:2
输出样例:
1x1=1
1x2=2 2x2=4
习题解析:考核for i in range(m,n)循环的理解,考核二重循环,字符串格式化输出,考核数理思维,找到数字规律。
- #d3_test1
- n=int(input())
- for i in range(1,n+1):
- for j in range(1,i+1):
- print("%dx%d=%2d"%(j,i,i*j),end=" ") #注意ij的顺序,%2d表示10进制格式,占2个字符
- print()
2、输入一个整数n,输出如下样例的三角形
输入样例:3
输出样例:
1
1 2
1 2 3
习题解析:难点在于找到数字规律和空格规律,找到数字与空格和行数、列数之间的关系。
- #d3_test2
- n=int(input())
- for i in range(1,n+1):
- print(" "*(n-i),end="") #输出n-i个空格
- for j in range(1,i+1):
- print(j,end=" ")
- print()
例题讲解:
1、用python绘制一个五角星。
例题解析:考核python绘图库——turtle,考核循环使用,几何知识。
turtle中基本动作的方法。forward:向前;backward:向后;left:左转x度
right:右转x度。
参考程序如下:
- #d4.1
- import turtle #导入turtle库
- for i in range(5): #循环5次
- turtle.forward(100) #向前走100像素(绘制一条长100的直线
- turtle.right(144) #右转144度
执行效果如图
2、绘制如下图形
例题解析:考核要点,从复杂图形中找到基本重复单元,然后找到重复规律,基本重复单元如下,我们发现整个图形包含了12个六边形。
于是程序如下:
- #d4.2
- import turtle as t #导入tutle库并将turtle重命名为t(这样需要打turtle的地方用t代替就可以,简化程序)
- for i in range(12): #重复绘制12个六边形
- for j in range(6):
- t.fd(100) #t.fd=t.forward fd是forward的简写,二者都可以
- t.rt(60) #rt是right的简写 都可以右转
- t.rt(30) #绘制完一个六边形后右转30度(360/12)