创建一个直线类,除主要属性:一对坐标值外,它还具有长度和斜线属性。你需要覆盖repr ()方法,使得代表那条直线的字符串表示形式是由一对元组构成的元组。
from math import sqrt
class Line (object) :
def __init__ (self,x1=0 ,y1=0 ,x2=0 ,y2=0 ) :
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.length = 0
self.slope = 0
def getLength (self) :
return sqrt((self.x1-self.x2)**2 + (self.y1-self.y2)**2 )
def getSlope (self) :
if self.x1 == self.x2:
return None
return (self.y1-self.y2)/(self.x1-self.x2)
def __str__ (self) :
return '((%d,%d),(%d,%d))' %(self.x1,self.y1,self.x2,self.y2)
__repr__ = __str__
l = Line(1 ,2 ,1 ,3 )
print(l)
print(l.getLength())
print(l.getSlope())
为DOS机器编写一个Unix操作界面的shell。你向用户提供一个命令行,使得用户可以在那里输入unix命令,你可以对这些命令进行解释,并把返回相应的输出。
import os
class cuteShell (object) :
def __init__ (self) :
pass
def start (self) :
while 1 :
cmd = input('z#:' )
if cmd == 'exit' :
break
else :
out = os.popen(cmd).readlines()
for a in out:
print(a)
sh = cuteShell()
sh.start()