TypeError:int() 参数必须是字符串、类似字节的对象或实数,而不是'_io.TextIOWrapper'



我写了一个非常基本的银行应用程序代码,但我收到了这个错误。TypeError:int((参数必须是字符串、类似字节的对象或实数,而不是"_io.TextIOWrapper">

代码在这里:

data = open("data.txt" , "r+")
class Account :
data = open("data.txt" , "r+")
def __init__(self , isim , numara , bakiye):
self.isim = isim
self.numara = numara
self.bakiye = int(bakiye)
bakiye = data
def hesapBilgileri(self):
print("İsim : " , self.isim)
print("Numara : " , self.numara)
print("Bakiye : " , self.bakiye)
bakiye = data
def paraCek(self , miktar):
if (self.bakiye - miktar <0) :
print("Bakiyeniz yeterli değil...")
else:
self.bakiye -= miktar
print("Yeni bakiye : " , self.bakiye)
bakiye = data
def paraYatır(self , miktar):
self.bakiye += miktar
print("Yeni bakiye : " , self.bakiye)
bakiye = data

account = Account("Atilla" , 10000000000 , data )
while True :
login = input("Şifrenizi giriniz : ")
file = open("passwordspy.txt" , "r+")
login2 = file.read()
if login == login2:
print("Giriş başarılı.")
break
else:
print("Şifre yanlış.")
if login == login2:
while True:
islem = int(input("Hangi işlemi yapmak istiyorsanız numarasını tuşlayın...n1.Hesap bilgilerini görüntülemen2.Para yatırman3.Para çekmenn"))
if islem == 1:
account.hesapBilgileri()
elif islem == 2:
miktar = int(input("Yatırılacak miktar : "))
account.paraYatır(miktar)
elif islem == 3:
miktar = int(input("Çekilecek miktar : "))
account.paraCek(miktar)
else:
print("Şifre yanlış...")  

对不起,这里有土耳其语。但我希望你能处理好这个问题。

您以bakiye的形式传递数据,bakiye不是整数,而是文件引用

此行:

account = Account("Atilla" , 10000000000 , data )

导致

self.bakiye = int(bakiye)

但是数据是

data = open("data.txt" , "r+")

您可能想要读取data.txt并传递字符串/内容,而不是文件/TextIOWrapper

相关内容

最新更新