叶墨沫 发表于 2022-8-15 14:50:09

关于__index__魔法方法和__int__魔法方法联合使用问题

想问一下如何能直接在创建个性化实例化对象时,传入汉字数字,并且用此实例化对象索引时用汉字数字来进行索引,我的想法如图,但结果和我想的不一样

tommyyu 发表于 2022-8-15 16:58:41

昨天没有看到,你这个D类的思路也有点问题,输出结果不对
class D:
    def __init__(self, string):
      self.string = string
    def __int__(self):
      try:
            return int(self.string)
      except ValueError:
            result = 0
            dictionary = {"零":0, "一":1, "二":2, "三":3, "四":4, "五":5, "六":6, "七":7, "八":8, "九":9}
            for each in self.string:
                result *= 10
                if each in dictionary:
                  result += dictionary
                else:
                  try:
                        result += int(each)
                  except:
                        print("警告,存在不为数字字符,已自动转化为0")
                        result += 0
            return result

叶墨沫 发表于 2022-8-15 17:06:33

本帖最后由 叶墨沫 于 2022-8-15 17:16 编辑

tommyyu 发表于 2022-8-15 16:58
昨天没有看到,你这个D类的思路也有点问题,输出结果不对

额,看了哈,好像是result*=10的缩进问题。。

tommyyu 发表于 2022-8-15 17:18:49

叶墨沫 发表于 2022-8-15 17:06
额,看了哈,好像是result*=10的缩进问题。。

好的
页: [1]
查看完整版本: 关于__index__魔法方法和__int__魔法方法联合使用问题