继续面向对象 学习内容

#周五 唉
dic={ ‘001’:{‘name’:‘张三’,‘age’: 18 ,‘num’:‘001’},
‘002’:{‘name’:‘张二’,‘age’: 28 ,‘num’:‘002’}}
class FileAction():
@staticmethod
def writedata():
f=open(‘data.txt’,‘w’)
for k,v in dic.items():
for k1,v1 in v.items():#解析出第一层字典 001:{‘name’:‘张三’,‘age’:18,‘num’:‘001’}
f.write((k1+’:’+str(v1)))#解析出第二层字典 name:张三,age:18,num:001
if k1==‘num’:
f.write(’\n’)
else:
f.write(’,’)
f.close()

@staticmethod
def readdata():
    f=open('data.txt','r')
    line=f.readline()
    dzd={}#定义一个大字典
    while len(line)>0:
        a=line.strip().split(',')#读每行,并删除空格和\n,并以,为界 隔开每项
        zd={}#每行定义第二层字典
        for b in a:
            s=b.split(':')#把每项例如name:张三,切出键值对,例如name和张三
            if s[0]=='age':# 如果是年龄 转换成整形
                zd[s[0]]=int(s[1])
            else:
                zd[s[0]]=s[1]
            if s[0]=='num':#如果是num 让其值成为第一层的键
                dzd[s[1]]=zd
        line=f.readline()
    print(dzd)
    f.close()

x=FileAction()
x.writedata()
x.readdata()

class People():
def init(self,name,age,work,salary):
self.name=name
self.age=age
self.work=work
self.salary=salary
self.__energy=100
def eat(self,money):
self.__energy=self.energy+10 if self.>90 else 100
self.salary-=money
def working(self):
People.tax+=self.salary*0.2
self.__energy=self.__energy-30 if self.__energy>30 else 0
def sleep(self):
self.__energy=self.__energy+60 if self.__energy<40 else 100
def say(self):
print(self.name,self.age,self.salary)
def get_energy(self):
return self.__energy
class Woman(People):
def shopping(self,money):
self.salary-=money
class Man(People):
def say(self):
super().say()
print(‘笑话’)
one=Man(‘张三’,18,‘开发’,18000)
one.say()
w=Woman(‘ls’,23,‘开发’,12000)
w.shopping(10000)
w.say()

class Paint():
def PaintStar(self):
i=1
while i<6:
j=1
while j<=5-i:
print(" “,end=”")
j+=1
j=1
while j<=2i-1:
print("
",end="")
j+=1
print()
i+=1
p=Paint()
p.PaintStar()

class PaintStar():
def paint(self):
i=1
while i<6:
j=1
while j<=5-i:
print(" “,end=”")
j+=1
j=1
while j<2i-1:
if j1 or j2
i-1 or i==5:
print("*",end="")
else:
print(" “,end=”")
j+=1
print()
i+=1
p=PaintStar()
p.paint()

a={ ‘001’:{‘name’:‘张三’,‘age’:18,‘adress’:‘北京’},
‘002’:{‘name’:‘张二’,‘age’:28,‘adress’:‘上海’},
‘003’:{‘name’:‘张大’,‘age’:38,‘adress’:‘北京’},
‘004’:{‘name’:‘张四’,‘age’:28,‘adress’:‘上海’},
‘005’:{‘name’:‘张六’,‘age’:38,‘adress’:‘北京’}
}
class StudentAdmin():
@staticmethod
def write():
f=open(“z.txt”,“w”)
f.write(str(a))
f.close()
@staticmethod
def read():
f=open(“z.txt”,“r”)
c=f.read()
f.close()
return eval©
a=StudentAdmin.read()
while True:
bh=int(input(“请输入编号”))
if bh == 1:
xh=int(input(“请输入学号”))
if xh in a.keys():
print(“学号重复”)
continue
else:
zd={}
zd[‘name’]=input(“请输入姓名”)
zd[‘age’]=int(input(“请输入年龄”))
zd[‘address’]=input(“请输入地址”)
a[xh]=zd
print(a)
print(“增加”)
elif bh2:
xh=int(input(“请输入学号”))
if xh not in a.keys():
print(“查无此人”)
continue
else:
print(“要删除的人是”,a[xh])
del a[xh]
print(a)
print(“删除”)
elif bh
3:
xh=int(input(“请输入要修改的学号”))
if xh not in a.keys():
print(“查无此人”)
continue
else:
a[xh][‘name’]=input(“请输入姓名”)
a[xh][‘age’]=int(input(“请输入年龄”))
a[xh][‘address’]=input(“请输入地址”)
print(a)
print(“修改”)
elif bh4:
xh=int(input(“请输入学号”))
if xh not in a:
print(“查无此人”)
continue
else:
print(a[xh])
print(“查找”)
elif bh
5:
StudentAdmin.write()
break#exit(0) break 跳出循环 exit 结束循环 程序结束 把添加修改后的值写入文件里面

class A():
count=0
def init(self,name):
self.name=name
A.count+=1
def del(self):
A.count-=1
print(“删除”,self.name,“还剩%d个对象”%A.count)
a=A(“张三”)
b=A(“李四”)
del a
del b
class A():
count=0
def init(self,name):
self.name=name
A.count+=1
def del(self):
A.count-=1
print(“删除”,self.name,“还剩%d个对象”,A.count)
a=A(“张三”)
b=A(“李四”)
del a
del b

class Num():
def init(self,n):
self.n=n
def add(self, other):
return self.n+other.n
a=Num(5)
b=Num(6)
d=a+b
print(d)

class Num():
def init(self,n):
self.n=n
def add(self, other):
return self.n+other.n
def call(self, *args, *kwargs):
result=self.n
for i in args:
result
=i
for k,v in kwargs.items():
result+=v
return result
a=Num(5)
c=a(1,2,3,age=15,shengao=5)
print©

class Car():
obj=’’
cc=’’
def new(cls, *args, **kwargs):
print(“我在这”)
return object.new(Car)
def init(self,name,cid):
print(“你好”)
self.name=name
self.cid=cid
byd=Car(“唐”,324)
print(hasattr(Car,‘obj’))
print(hasattr(Car,‘cc’))

class Car():
def new(cls, *args, **kwargs):
if not hasattr(Car,‘inst’):#如果Car里面没有inst属性
Car.inst=object.new(Car)#建立一个Car对象,给inst属性
return Car.inst
def init(self,name,cid):
print(“你好”)
self.name=name
self.cid=cid
a=Car(“mbh”,“jing11111”)
b=Car(“knsk”,“jing00000”)
print(a is b)
print(a)
print(b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用 JavaScript 编写的杀死幽灵游戏(附源代码) 杀死鬼魂游戏是使用 Vanilla JavaScript、CSS 和 HTML 画布开发的简单项目。这款游戏很有趣。玩家必须触摸/杀死游荡的鬼魂才能得分。您必须将鼠标悬停在鬼魂上 - 尽量得分。鬼魂在眨眼间不断从一个地方移动到另一个地方。您必须在 1 分钟内尽可能多地杀死鬼魂。 游戏制作 这个游戏项目只是用 HTML 画布、CSS 和 JavaScript 编写的。说到这个游戏的特点,用户必须触摸/杀死游荡的幽灵才能得分。游戏会根据你杀死的幽灵数量来记录你的总分。你必须将鼠标悬停在幽灵上——尽量得分。你必须在 1 分钟内尽可能多地杀死幽灵。游戏还会显示最高排名分数,如果你成功击败它,该分数会在游戏结束屏幕上更新。 该游戏包含大量的 javascript 以确游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox。要玩游戏,首先,单击 index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值