任务1:输出九九乘法表
思路:因为学习过C语言,所以很清楚用嵌套循环,比较难的地方就是怎样格式输出,使输出的排版好看。
原理:嵌套的循环,并加上format()方法的使用
代码及操作图片 :
for i in range(1,10):
for j in range(1, 1 + i):
print("{}*{}={}".format(i,j,i*j))
print('\n')
for i in range(1,10):
for j in range(1, 1 + i):
print("{}*{}={}".format(i,j,i*j),end='')
print()
遇到的问题:不知道怎么换行,尝试过用 \n 换行,但是收到的效果不如人意。
学到的知识点总结:1、“字符串format()方法的基本使用格式:"模版字符串".format(逗号分隔的参数),例如:
>>> "{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
>>>"{}是一位{}。".format("我","学生")
'我是一位学生'
另外str.format()格式化数字:>>> print("{:.2f}".format(3.1415926));
3.14
2、(这一点不清楚):end为什么 这样用在此处
任务2:1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
思路:在脑海里有纯粹的数学方法(排列组合的方式),但是就是不知道怎么用一种语言代码把它表示出来。只能百度借鉴了别人的思维。
原理:同样的嵌套的循环语句,来依次安排百位,十位,个位上的数,(习惯上从高位往低位排列),还有利用条件语句进行判断个、十、百位上的数不重复。
代码及操作图片:(其中输出语句与判断语句有不同写法)
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j!=k:
print("{}{}{}".format(i,j,k),end=' ')
(沿用上次新学的)
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j!=k:
print("%d%d%d"%(i,j,k))
对于 print("%d%d%d"%(i,j,k)) 这一句(网上看到的),我其实并不知道第四个百分号的作用与用法(没有查到我想要的相应资料)(在此处有疑问)。
m=0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i!=j)and(j!=k)and(i!=k):
m+=1
print("%d%d%d"%(i,j,k),end=' ')
if m%4==0:
print('')
遇到的问题:输出排版依旧不会,(模仿中成长吧!)
刚开始,也不知道怎么把三个数组成一个数,其中出现了这些情况:
任务3:用 * 号输出字母C的图案
思维路程:看到此题目时,首先想到的是C语言中的菱形打印(如下图), 但是我写不出来C的图案绘制代码,因为我觉得菱形打印有规律可循,但是C就只是简单地输出。
#include<stdio.h>
void main()
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++)
printf(" ");
for(j=0;j<=i*2;j++)
printf("*");
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<2+i;j++)
printf(" ");
for(j=0;j<=4-2*i;j++)
printf("*");
printf("\n");
}
原理:输出函数print()的应用。
补充:
后来,无意中看到 资料书上的python蟒蛇绘制,想到可以用 画笔绘制出来吧,于是看了 绘制图形的turtle库 ,学到了一些知识。
import turtle
turtle.setup(650,350,200,200) #turtle.setup()函数相当于创建一个方向坐标系
turtle.penup()
turtle.fd(50) #turtle.fd()函数控制画笔的行进距离,正负表示前进方向
turtle.pendown()
turtle.pensize(25) #turtle.pensize()函数用来规定画笔的尺寸
turtle.pencolor("purple") #turtle.pencolor()函数用来设置画笔颜色
turtle.seth(250) #turtle.seth(to_angle)函数用来画笔绘制方向,角度是绝对方向角度值
turtle.circle(80,180)
(然而还是失败了,画不出C的上半部分)