先简单描述下自己是零基础自学的Python,因为没有人指导,也不知道看什么书籍,于是跑到图书馆看了一整天的书,看的书名都是《零基础学Python*****》《Python从入门到精通****》这些类型的书籍。
回到家就尝试着自己写一点代码,有一本书中写过一个入门级的例子:大概意思是,如果你满了18岁,就有投票权,否则没有投票权。
我受此案例启发,就想着做一个身份证验证年龄,来判断是否符合未成年人禁止在网吧上网的一段代码。
因为是零基础初学,以前也没安装过python相关软件。后续我再把自己安装软件的过程写出来跟大家交流,今天就先贴出自己的第一次代码,如下:
[Python] 纯文本查看 复制代码 import datetime [color=#ff0000]#调用时间模块[/color]
nowday = datetime.datetime.now() [color=#ff0000]#获取当前时间并命名为nowday[/color]
today = nowday.date().strftime("%y%m%d") [color=#ff0000]#在nowday中获取当前年月日:211102[/color]
x = "20"
y = x + today
[color=#ff0000]#year = nowday.year()
#moth = nowday.year()
#day = nowday.year()
#realtime = year + 年 + moth + 月 + day + 日[/color]
a = int(y) [color=#ff0000]#将调取的字符串格式的日期输入并命名为a[/color]
print("你好,今天是:")
print(today) [color=#ff0000]#显示今天的日期[/color]
sfz = input("请输入身份证号码:") [color=#ff0000]#提示输入身份证号码[/color]
[color=#ff0000]#
#(可以在此处增加一个try来判断身份证是否输入正确)
#[/color]
birth = sfz[6:14][color=#ff0000] #从输入的身份证中切片第7位到第14位数字(此时是字符串格式)[/color]
b = int(birth)[color=#ff0000] ##将切片的字符串格式的日期输入并命名为b[/color]
ages = (a-b)/10000[color=#ff0000] #简单的运算,得到年龄[/color]
if ages >= 18: [color=#ff0000]#如果年龄大于或等于18岁[/color]
print("你可以上网") [color=#ff0000]#显示可以上网[/color]
else: [color=#ff0000]#否则,不可以在网吧上网[/color]
print("根据国家法律规定,你不可以在网吧上网,满18岁以后再来吧!")
[color=#ff0000]#(其实通过尝试,你会发现,输入一个不存在的身份证日期,程序也会显示可以上网)
#(可以增加输入条件,来避免输错号码的情况,也许有更高级的方案,由于初学
# \n 望各位前辈指正)[/color]
IDE界面截图:
代码跑起来以后的截图如下:
1、有好的显示当前日期,并提示输入身份证号码:
2、输入以后按下回车,会进行判断,并给出相关提示:
3、让我们换一个假设的2010后的身份证号码:
4、总结:这段代码虽然可以跑起来,但是有几个地方,新手需要注意——
①、字符串切片,是左闭右开,就是中括号里边的数字,左边表示包含第7个数(0开始计),右边表示不包含第15个数。
②、取当前时间,默认取出来的我猜测都是字符串,因为我尝试过用取出来的东西直接做运算,出现错误。错误代码我就不贴了。
③、有些朋友可能疑惑,为什么自己安装软件后的界面和各个论坛的都不一样,这都是设置的原因,有些广告里面界面看上去是黑色或者蓝色的,显得很高端,其实没有啥区别,
左侧的行号也是设置显示的,默认是不显示行编号的,显示行号就便于我们在运行出现错误代码以后修改相应行。
④、中间有一些注释是我后面想增加或者修改的思路,各位朋友请忽略,如果有注释错误的,望各位前辈指正。感谢为盼! |