python字典的值如何打印

classChinese:def__int__(self):self._number=Nonedefnumber(self):returnself._numberdefn... class Chinese: def __int__(self): self._number = None def number(self): return self._number def number(self,value): if value >=1 and value <=5: self._number = value else: raise ValueError("Number not recognized") def chinese(self): number2chinese = {1:"一",2:"二",3:"三",4:"四",5:"五"} return number2chinese[self._number] def chinese(self,value): chinese2number = {"一":1,"二":2,"三":3,"四":4,"五":5} if value in chinese2number: self._number = chinese2number[value] else: raise ValueError("Chinese numeral not recognized")a = Chinese()a.number = 3print(a.number)print(a.chinese)b = Chinese()b.chinese = "五"print(b.number)print(b.chinese)请问如何打印具体的值,而不是打印字典值的地址? 展开
 我来答
nc
2019-04-29 · 知道合伙人自然科学行家
nc
知道合伙人自然科学行家
采纳数:17 获赞数:47
CFD,科学计算研究者

向TA提问 私信TA
展开全部

推测你的意图,做了一些修改:

class Chinese:
    def __int__(self):
        self._number = None
        
    def set_number(self,value): 
        if value >=1 and value <=5: 
            self._number = value 
        else: raise ValueError("Number not recognized") 
    
    def chinese(self):
        number2chinese = {1:"一",2:"二",3:"三",4:"四",5:"五"}
        return number2chinese[self._number]
        
    def set_chinese(self,value): 
        chinese2number = {"一":1,"二":2,"三":3,"四":4,"五":5} 
        if value in chinese2number: 
            self._number = chinese2number[value] 
        else: 
            raise ValueError("Chinese numeral not recognized")
        
a = Chinese()
a.set_number(3)
print(a._number)
print(a.chinese())
        
b = Chinese()
b.set_chinese("五")
print(b._number)
print(b.chinese())

运行环境Python 2.7.16, 结果:

小灰灰啊
2019-04-28 · 知道合伙人IT服务行家
小灰灰啊
知道合伙人IT服务行家
采纳数:116 获赞数:284
资深运维工程师,熟悉Linux、Python、Shell

向TA提问 私信TA
展开全部
出现你图片中问题的原因是,你在调用函数number和chinese的时候,没有给函数加上括号(),因此,你输出的就是函数的地址。加上括号了以后,才是调用函数,然后执行函数里的具体指令来输出你想要的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我配合的演出
2019-04-29 · TA获得超过192个赞
知道小有建树答主
回答量:150
采纳率:38%
帮助的人:50.8万
展开全部

class Chinese:
def __int__(self):
self._number = None

def number(self,value):
if value >=1 and value <=5:
self._number = value
return self._number
else:
raise ValueError("Number not recognized")

def chinese(self,value):
chinese2number = {"一":1,"二":2,"三":3,"四":4,"五":5,1:"一",2:"二",3:"三",4:"四",5:"五"}
if value in chinese2number.keys():
return chinese2number[value]
else:
raise ValueError("Chinese numeral not recognized")
a = Chinese()
print(a.number(1))
print(a.chinese(1))
print(a.chinese('一'))
b = Chinese()
print(b.number(5))
print(a.chinese(5))
print(b.chinese('五')) 

判断字典键要用dict.keys(),根据你的代码我改了一点,看能不能达到你的要求

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式