| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
class Transfrom1 : 
    def __init__(self,x=0,y=0) : 
        self.y=y 
        self.x=x 
 
class Transfrom(Transfrom1) : 
    def __init__(self,x=0,y=0) : 
        self.transfrom1=Transfrom1(x,y) 
    def change(self): 
        titel=input('请选择主题(华氏温度、摄氏温度):') 
        if titel=='华氏温度' : 
            self.y=eval(input('请输入华氏温度:')) 
            return (self.y-32)/1.8 
        elif titel=='摄氏温度' : 
            self.x=eval(input('请输入摄氏温度:')) 
            return self.x*1.8+32 
        else : 
            print('你输入的格式不对,这里只能输入一个数字') 
    x=property(change) 
     
def founction(): 
    s=input('是否继续执行(是、否):') 
    if s=="是" : 
        c=Transfrom() 
        c.x 
        return founction() 
    else : 
        print('') 
c=Transfrom() 
c.x 
founction() 
 
 
 
 
错误: 
Traceback (most recent call last): 
  File "D:/python(学习站)/dc.py", line 30, in <module> 
    c.x 
  File "D:/python(学习站)/dc.py", line 12, in change 
    self.x=eval(input('请输入摄氏温度:')) 
AttributeError: can't set attribute 
类方法和类属性变量名污染了 
 
- class Transfrom1 :
 
 -     def __init__(self,x=0,y=0) :
 
 -         self.y=y
 
 -         self.x=x
 
  
- class Transfrom(Transfrom1) :
 
 -     def __init__(self,x=0,y=0) :
 
 -         self.transfrom1=Transfrom1(x,y)
 
 -     def change(self):
 
 -         titel=input('请选择主题(华氏温度、摄氏温度):')
 
 -         if titel=='华氏温度' :
 
 -             self.y=eval(input('请输入华氏温度:'))
 
 -             return (self.y-32)/1.8
 
 -         elif titel=='摄氏温度' :
 
 -             self.x=eval(input('请输入摄氏温度:'))
 
 -             return self.x*1.8+32
 
 -         else :
 
 -             print('你输入的格式不对,这里只能输入一个数字')
 
 -     z=property(change)
 
 -    
 
 - def founction():
 
 -     s=input('是否继续执行(是、否):')
 
 -     if s=="是" :
 
 -         c=Transfrom()
 
 -         c.z
 
 -         return founction()
 
 -     else :
 
 -         print('')
 
 - c=Transfrom()
 
 - c.z
 
 - founction()
 
 
  复制代码 
 
 
 |   
 
 
 
 |