NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Zápis do souboru :-)

Aktivity
Avatar
Verča Hrnčálová:10.1.2016 17:11

Ahoj, snažím se získat zápočet - můj malinký program na bankomat je tudíž velmi jednoduchý a jeho hlavním cílem je jakási funkčnost...
Popis: Bankomat..zůstatek se nahrává se samostatného souboru (napsané pouze číslo)...
po výběru se musí od zůstatku odečíst vybraná částka a nový zůstatek zapsat do souboru. A právě s tímto krokem mám problém. Zkoušela jsem přes "r" a poté "w", nic...nyí zkouším přes "r+"...Hází mi tu stejnou chybu: TypeError: expected a string or other character buffer object..
Prosím o pomoc, děkuji :-)

print("Vitejte v bance Santa Clause")
soubor = open("text.txt", "r+")
zustatek =int(soubor.readline())

sance=3
while sance <=3:
    pin=int(input("Zadejte prosim PIN: "))
    if (pin==2):
        print("Spravny PIN")
    else:
        pin=int(input("Zadejte spravny PIN:"))
    break
menu = ("Dotaz na zustatek","Vybrani castky")
print(menu)
print("Stisknete 1 pro dotaz na zustatek")
print("Stiknete 2 pro vyber castky")
option = int(input("Vyberte moznost: "))
if option==1:
    print("Vas zustatek je: ",zustatek)
elif option==2:
    vybrat=int(input("Vyberte castku: \n500CZK 1000CZK 1500CZK 2000CZK 5000 CZK: "))
    if (vybrat <= zustatek):
        print("Vas vyber je: ",vybrat)
        if (vybrat in(500,1000,1500,2000,5000)):
            zustatek=zustatek-vybrat
            soubor.write(zustatek)
        print("Vas zustatek je:",zustatek)
    else:
        print("Vyberte jinou castku")
soubor.close()

\---

 
Odpovědět
10.1.2016 17:11
Avatar
Tukmak
Člen
Avatar
Odpovídá na Verča Hrnčálová
Tukmak:10.1.2016 17:51

Ahoj, parametr funkce write musí být string (viz https://docs.python.org/…toutput.html). Takže stačí přetypovat proměnnou zustatek na string:

zustatek = str(zustatek - vybrat)
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
10.1.2016 17:51
Avatar
Verča Hrnčálová:10.1.2016 18:27

Ahoj, dík za odpoveď :-)
to mě nenapadlo :-)

kéž by bylo vše tak jednoduché :-)

 
Nahoru Odpovědět
10.1.2016 18:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.