TypeError:未绑定方法(取而代之的是int实例)


我正在制作日历(瑞典语):打字错误有问题。问题是用户在val_1下键入他或她想要查看哪一年的日历。I要将信息(Val_1)发送到def。VALT_AR以继续计算..

选择 | 换行 | 行号
  1. from time import*
  2. import time
  3.  
  4.  
  5. class Kalender:
  6.     # Kalendern=objektet
  7.     def __init__(self, ar, manad):
  8.         self.ar=ar
  9.         self.manad=manad
  10.  
  11.     # Räknar ut hur många år från år 1900 samt hur många dagar det är från 1 jan
  12.     def valt_ar(ar): 
  13.         beraknat_ar=ar-1900
  14.  
  15.         beraknade_dagar=365*int(beraknat_ar)
  16.         return (beraknade_dagar)
  17.  
  18.  
  19.  
  20. # Frågar personen vilket år han/hon vill se kalendern
  21. val_1=int(input("Ange vilket år du vill titta på: " ))
  22. val_2=float(input("Ange måndad:   "))
  23.  
  24. beraknat_totalt_dagar=Kalender.valt_ar(self,valt_ar,manad)
# 回答1


嗨,米蒂。对不起,我不明白你的意思。
# 回答2


当您粘贴代码时,请单击代码周围的按钮以根据网站策略设置帖子的格式。
# 回答3


你得先
创建类的实例
。然后使用类实例,因为类只是一个原型,在创建实例之前什么都不做。注意,您发布的代码中没有声明VALT_AR和MANAD,但是您没有包括完整的错误消息,因此无法知道这是否是类型错误。

选择 | 换行 | 行号
  1. class Kalender:
  2.      # Kalendern=objektet
  3.      def __init__(self, ar, manad):
  4.          self.ar=ar
  5.          self.manad=manad
  6.          print self.ar, self.manad
  7.  
  8.      # Räknar ut hur många år från år 1900 samt hur många dagar det är från 1 jan
  9.      def valt_ar(self): 
  10.          beraknat_ar=self.ar-1900
  11.          beraknade_dagar=365*int(beraknat_ar)
  12.          return (beraknade_dagar)
  13.  
  14.  
  15.  
  16. # Frågar personen vilket år han/hon vill se kalendern
  17. val_1=int(input("Ange vilket år du vill titta på: " ))
  18. val_2=float(input("Ange måndad:   "))
  19.  
  20. Kal=Kalender(val_1, val_2)
  21. print Kal.valt_ar() 

标签: python

添加新评论