class Calisan:
counter = 0
zam_orani = 0.0
def __init__(self, isim, soyisim, maas): # constructor
self.isim = isim
self.soyisim = soyisim
self.maas = maas
self.email = isim + soyisim + "@asd.com"
Calisan.counter = Calisan.counter + 1
def giveNameSurname(self):
return self.isim + " " + self.soyisim
def zam_yap(self):
self.maas = self.maas + self.maas * self.zam_orani
kisi = Calisan(input("İsim:"),input("Soyad:"),input("Maaş:"))
print("CEO:",kisi.isim,kisi.soyisim,"\nMail:",kisi.email,"\nMaaş:",kisi.maas)
Hosgeldiniz = "Sisteme Hoşgeldiniz efendim,toplam çalışan sayınız {}'dir ".format(Calisan.counter)
print(Hosgeldiniz)
Calisan.zam_orani = float(input("Zam oranını giriniz:"))
kisi.zam_yap()
print("Zamlı Maaş:",kisi.maas)
为什么我会犯这个错误?你知道吗
Traceback (most recent call last):
File "C:/Users/CaHeD/Desktop/Python/veriable/zamoranı.py", line 28, in <module>
kisi.zam_yap()
File "C:/Users/CaHeD/Desktop/Python/veriable/zamoranı.py", line 22, in zam_yap
self.maas = self.maas + self.maas * self.zam_orani
TypeError: can't multiply sequence by non-int of type 'float'
在Python中,可以将序列(例如列表
[]
或str
)乘以整数(整数)来复制序列中的元素。例如:你不能将一个序列乘以一个非整数,例如
1.5
:在代码中,将字符串
self.maas
乘以self.zam_orani
,即0.0,即float
。要乘以这个数,需要将它转换成int
或者,如果您的输入都是数字(例如,您希望输入两个数字并得到乘积),您可以在计算之前将它们转换为浮点数,例如
在python中,所有输入都是字符串,因此需要将其更改为float或integer。用float更改输入行的结尾(input(“Maas:”))
相关问题 更多 >
编程相关推荐