今日有幸学习Python。
看的教程是这里的http://www.runoob.com/python/python-tutorial.html
因为有编程基础,所以只用了几个小时的时间来熟悉Python。
下面是一段比较综合性的代码,最为今晚(好像是早晨。)的一个总结。
知识点:
- Python基础语法
- Python面向对象
- Python 文件I/O
Python异常处理机制
字典:
我认为字典是Python中非常好用的一种数据结构,实际上PHP中也有,我非常喜欢,看一眼就爱上了他。
下面是一些小笔记:
通过这种遍历的方式来获取键和值。
for item in dict.items():
#item[0]是键
#item[1]是值
等同于易语言中的计次循环
for x in range(任意正数)
关于pass语句。pass语句是不会执行任何操作的,和注释应该没有太大的区别,但是应该可以来美化我们的程序吧?
while(1):
sub = input('请输入科目名称(停止录入请输入#):')
if sub=='#': break
value=input('请输入该科目分数:')
stu.setscore(sub,value)
pass
与while在同一级,这样不是很美观吗?对称美~~~~
完整代码:
# Python Class 机制学习
# 无名侠
# 2015.7.2
class cStudent:
'这是一个描述学生的类'
sName = '';
score = dict();
def __init__(self,name):
self.sName=name;
def GetName(self):
return self.sName;
def setscore(self,subject,value):
'这是学生某一个科目的成绩'
self.score[subject]=value;
return;
def getscore(self,subject):
'获取某一个的成绩'
return self.score[subject];
def ReportToFile(self,FileName):
try:
fo=open(FileName,'a')
except IOError: print('读写 '+FileName+' 失败')
else:
average = 0
count = 0
fo.write('学生姓名:'+self.sName+'\n')
for item in self.score.items():
#item[0]是key
#item[1]是值
count=count+1
average = average + int(item[1])
fo.write(item[0]+"\t\t成绩是:"+str(item[1])+'\n')
pass
average = average/count
fo.write('平均成绩:'+str(average))
fo.write('\n\n')
fo.close()
#################################
# 入口处
name = input('请输入要登记的学生姓名:')
stu = cStudent(name)
while(1):
sub = input('请输入科目名称(停止录入请输入#):')
if sub=='#': break
value=input('请输入该科目分数:')
stu.setscore(sub,value)
pass
stu.ReportToFile('tt.txt')
print('已经导出文件')
腰好酸,背好痛,睡觉去。