如何利用Python3.8Shell平台的编辑提示功能和出错反馈功能,提高自己的语言水平,提高语言运用能力,提高协同工作中程序员之间的信息交互等,这都是任何一个程序员必经的过程。而通过拷贝与改写可以高效的提升自己的多方面的能力。
由于原来的C程序是经过验证无错代码。算法经过调试也被证明没有问题。因此,拿来拷贝到另外一个平台里,需要修改的只是某种语言和平台的特定词汇与格式而已。逻辑上不会出错。算法上不会出错。
先来看看C语言的数字排序程序
C语言的数字排序程序
完整代码如下:
Structural_Data_Process.C
//variabledeclaration
intNum,NsetS[50],TransitD;
voidStructural_DataLS()
{
//standardIO
printf_s("输入数组,的元素数目_一个整数:\n");
scanf_s("%d",Num);
for(inti=0;iNum;i++)
{
printf_s("输入数组NsetS的元素数值,一个自然数:\n");
scanf_s("%d",NsetS);
printf_s("已经输入数组NsetS的个数:%d",i+1);
}
printf_s("\n");
//dataprocessing-sorting
for(intj=0;jNum-1;j++)
{
for(intk=0;kNum-1-j;k++)
{
if(NsetS[k]NsetS[k+1])
{
TransitD=NsetS[k];
NsetS[k]=NsetS[k+1];
NsetS[k+1]=TransitD;
}
}
}
//standardIO
printf_s("\n");
printf_s("输入数组元素的顺序,由大到小为:\n");
for(intm=0;mNum;m++)
{
printf_s("%d;",NsetS[m]);
}
printf_s("\n");
}
voidStructural_DataSL()
{
//dataprocessing-sorting
for(intj=0;jNum-1;j++)
{
for(intk=0;kNum-1-j;k++)
{
if(NsetS[k]NsetS[k+1])
{
TransitD=NsetS[k];
NsetS[k]=NsetS[k+1];
NsetS[k+1]=TransitD;
}
}
}
//standardIO
printf_s("\n");
printf_s("输入数组元素的顺序,由小到大为:\n");
for(intm=0;mNum;m++)
{
printf_s("%d,",NsetS[m]);
}
printf_s("\n");
}
运行结果如下:
C语言的数字排序运行结果
没有问题。参看文章《如何理解在VS平台上多种语言并行学习中的变与不变-学习效率问题》。
将C语言的程序拷贝到Python3.8Shell平台中来-用记事本将自己的正确程序保存下来,便于拷贝。
C语言的程序拷贝到Python平台
根据Python语言的规则进行修改。文章《如何理解在VS平台上多种语言并行学习中的变与不变-学习效率问题》讨论了便与不变的问题。也就是修改方法。而可以利用编译平台的错误提示功能,改写的没有语法错误。再RUN一下,还可以看到不合宜的地方。这样可以快速解决问题。
再看看修改成Python语言的数字排序程序
#DiscreteNum_sorting.py
#standardIO
print("自然数排序的程序\n")
#创建一个空数组
Narray=[]
#输入你排序的数字的个数
Nnum=int(input("你想输入数字数组元素的个数是:"))
#循环输入数字并添加到数组中
foriinrange(Nnum)/p>
Narrayi=int(input("请输入第{}个数字:".format(i+1)))
Narray.append(Narrayi)
print("用户总共输入的元素个数是:\n",i+1)
print("请核对数组元素:\n")
forminrange(Nnum)/p>
print(Narray[m],end="")
#dataprocessing-sorting
forjinrange(Nnum-1)/p>
forkinrange(Nnum-1-j)/p>
if(Narray[k]Narray[k+1])/p>
TransitD=Narray[k]
Narray[k]=Narray[k+1]
Narray[k+1]=TransitD
#standardIO
print("\n")
print("这些元素由大到小的顺序为:\n")
forminrange(Nnum):
print(Narray[m],end="")
#dataprocessing-sorting
forjinrange(Nnum-1):
forkinrange(Nnum-1-j):
if(Narray[k]Narray[k+1]):
TransitD=Narray[k]
Narray[k]=Narray[k+1]
Narray[k+1]=TransitD
#standardIO
print("\n")
print("这些元素由小到大的顺序为:\n")
forminrange(Nnum):
print(Narray[m],end="")
print("\n")
print("请核对结果\n")
运行结果如下:
python语言的运行结果
比较之后就可以看到:什么是不变的,什么是需要改写的。俺是栽跟头后才能牢记语言应用。改程序、调试程序是最好的栽跟头,也是最好的记忆、应用方法。你呢?C的资源非常多,所以用C语言举例子。