软件现在书写能力越来越下降了,我现在已经理解不了大学毕业的时候写的IP电话的程序代码的意思,再加上钟爱的BCB破产而永久性失去支持,VS越来越庞大,现在都没有安装文件,只能从网站上选择要安装的内容再自动下载安装,装完以后十几个G,操作习惯以及大量的函数库都已经超出我现在习惯于几K字节的单片机程序的大脑。
所以,学习Python吧,就算是学不出来啥,总也能在论坛里吹吹牛吧。
Python不是很新的语言,但是又比较新,是一种解释型的语言,简单的学习过程中,感觉相比较C/C++那种非常精准的语言架构,Python特别的灵活自由。除了取消了括号,依靠缩进来管理循环这一条不喜欢以外,别的算是很惊艳。
Python的打印是print,而不是printf,是需要习惯一下;而且其循环后面需要加“:”,一开始是不太习惯的。
Python能灵活到什么程度?数组都能随意增减!这在C语言中是不可想象的。我们以前的做法是,设计好一个数据结构,然后建立一个数组,需要申请大小,分配内存空间,用完要释放;并且使用的时候要非常的小心,一不小心就会溢出。而Python可以在程序半道上对数组随意增加或者删减、切片、排序……除了不小心也会溢出以外,实在是太灵活了。而且,就算溢出了,也不会出现C/C++里面死机蓝屏的问题,安全许多。
Python在if或者for循环中作比较的时候,不光可以做数字或者布尔型的比较,还可以做字符串的比较,这也省却了很多赋值的操作,简化了程序。
Python还有着C#、VB里面那种对字符串的增减模式,而且更灵活,用Str()就可以把数字之类的全部转换成字符串,用“+”就可以把各种字符连接起来,只要文字模式写对了,就是火星字符都能连接。这也使得Python在输入输出的时候,提示文字非常的灵活。
光说不练假把式,虽然不知道以后怎么用,但是先试试再说,先写了个简单的素数计算的程序,果然是退化了,调试了大半天。
num = 100
a=1
while a
a=a+1
b=(int)(a**0.5) #取开方
c=1
count = 0
while c
c=c+1
if a%c == 0: #如果2~b之见有被a整除的数,余数为0,则表明不是素数
count = 1
break
if count == 0:
print(str(a)+"是素数")
很简单,就是判断0~num之间有哪些是素数,素数只能被1和自己整除,因此需要判断1~a^0.5(开方)之间没有可以被a整除的数,那么a就是素数。
没过两天,同学群里面恰好有人问707829217是两个素数的乘积,要计算出来,这个号码是一个美女的微信号,嘿嘿,明显是套路,但是这个题目挺好,正好刚写了素数的计算程序,就在此基础上更改了一下。
num = 28000 #707829217开平方
a=1
while a
a=a+1
b=(int)(a**0.5) #取开方,检验a是否是素数
c=1
count = 0
while c
c=c+1
if a%c == 0: #如果2~b之见有被a整除的数,余数为0,则表明不是素数
count = 1
break
if count == 0:
d = (int)(707829217/a) #a、d要同时满足都是整数,且乘积是707829217
if a*d == 707829217:
b=(int)(d**0.5) #检验d是否是素数
count = 0
c = 1
while c
c=c+1
if d%c == 0:
count = 1
break
if count == 0: #当a、d同时是素数时,输出
print(str(a)+"*"+str(d)+"="+str(a*d))
输出结果为:8171*86627=707829217(想加微信的可以去加了)
果然比手算的快多了(有人能手算出来吗?)Python基本语法看的七七八八,下一步就是要试验学习书里面的项目,期待能够做一些更有用好玩的程序出来。
作者: 忆轻狂, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-1384650.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
用户1724505 2019-6-10 17:48
用户3890041 2019-5-14 12:50
curton 2019-5-13 16:22
江畔美少年 2019-5-8 22:00
测量无处不在 2019-5-7 10:43
eyesee00 2019-5-6 18:05
忆轻狂 2019-5-6 16:26
dmm8 2019-5-6 16:18