Valikko
Aloita keskustelu
Hae sivustolta
Kirjaudu sisään
Keskustelu
Viihde
Alennuskoodit
Black Friday 2024
Lainaa
Treffit
Säännöt
Chat
Keskustelu24
profiilit
Katjaana
profiilit
Katjaana
Katjaana
Vapaa kuvaus
Aloituksia
3
Kommenttia
65
Uusimmat aloitukset
Suosituimmat aloitukset
Uusimmat kommentit
Kirjasto.dat+on+242+tavua+ja+se+on+Tiedostot-kansiossani,+eli+se+on+ok.+
Myös+Lisää+uusi+kirja+luetteloon+-lomake+ilmestyy+nätisti+komentokehoitteen+komennon+jälkeen+(otsikossa+Lisää-sanassa+vain+pientä+sanomista,+mutta+johtunee+siitä+UTF8:sta).
31.12.2020 08:40
Nämä+ovat+samat,+eilen+tosin+käytön+myötä+sinne+(Tiedostot-kansio,+jonne+olen+nämä+tallentanut)+ilmestyi+myös+_pycache_-tiedostokansio,+joka+sisältää:
LataaKirjaLuetteloFile.cpython-38
ja
TulostaKirjaLuetteloFile.cpython-38
31.12.2020 08:27
Kohta+3+korjattu+uudelleen!+
Kohta+1+sensijaan+ei+ota+oonistuakseen...+jos+siitä+ottaa+risun+edestä++pois,+niin+saan+herjan:+SyntaxError:+invalid+syntax
31.12.2020 08:20
1.+Sain+pienen+HUOM-ikkunan,+jossa+luki:+Kaivattiin+(Kirjasto.dat)+tiedostoa,+mutta+sitä+ei+löytynyt.+Vaikka+se+on+samassa+kansiossa,+missä+nämä+muutkin...
2.+Nämä+kuusi+herjaa:
Undefined+variable+'HaetaanKirjaLuettelosta'+[32,+50]
Undefined+variable+'MuokataanKirjaLuetteloa'+[33,+50]
Undefined+variable+'PoistaKohdeKirjaLuettelosta'+[34,+50]
Undefined+variable+'TallennaKirjaLuettelo'+[35,+50]
Unused+import+pickle+from+wildcard+import+[7,+1]
Unused+import+ShowMessage+from+wildcard+import+[7,1]
3.+Muutoin+tämä+tulos:
'clear'+is+not+recognized+as+an+internal+or+external+command,
operable+program+or+batch+file.
++++++++K+I+R+J+A+L+U+E+T+T+E+L+O+N++P+Ä+Ä+V+A+L+I+K+K+O
++++++++1.+Hae+kirjan/kirjailijan+nimellä+tai+vuosiluvulla.
++++++++2.+Muokkaa+kirjaluettelon+merkintää.
++++++++3.+Poista+kirjaluettelon+merkintä.
++++++++4.+Lisää+kirjaluetteloon+merkintä.
++++++++5.+Tulosta+kirjaluettelo.
++++++++6.+Lopetus
+++++++++++Anna+valintasi+[1-6]+:
30.12.2020 20:29
Juuh,+ei+antanut+tallentaa+niitä+kuin+HTML:nä...,+mutta+avattaessa+ovat+todellakin+'pythonia'!+Eli+kopioin+ne+kaikki+kolme+itselleni++omaan+kansioonsa++++kopioin+vielä+sen+Kirjasto.txt-tiedoston+näiden+kanssa+samaan+kansioon+nimellä:+Kirjasto.dat
30.12.2020 19:32
Nyt+minulla+on+siis+erillinen+Tiedostot-kansio,+jossa+on+kolme+lähettämääsi+tiedostoa+niillä+nimillään+ja+sellaisinaan,+kuin+sinä+olit+ne+tallentanut.+
Ja+nytkö+siis+muutan+oman+Kirjasto.txt-tiedostoni+muotoon+Kirjasto.dat+ja+tallennan+sen+Tiedostot-kansioon+noidn+muiden+seuraksi?
30.12.2020 16:46
Tallensin+kaikki+kolme+HTML-tiedostoa+omaan+kansioonsa+niillä+nimillä,+kuin+ne+olivat...+sieltä+ne+voi+sitten+ottaa...
Tuo+Windows-muutokset-'tehtävä'+kyllä+hirvittää,+mutta+yritetään...
30.12.2020 16:29
Noin+ja+Zenity+asentui,+mutta+tiedä+sitten+osaanko+sovittaa+niitä+Windowsin+vastaaviin...
30.12.2020 06:47
Tämä+onnistui,+jos+tarkoitus+oli+se,+että+jäljelle+jää+vain+alla+oleva.+
os.system('cls')+siis+poisti+kaiken+sitä+edeltävän.
1.+Hae+kirjaluettelosta+kirjan+nimellä,+kirjailijan+nimellä,+tai+vuosiluvulla.
2.+Muokkaa+kirjaluettelon+merkintää.
3.+Poista+kirjaluettelon+merkintä.
4.+Lisää+kirjaluetteloon+merkintä.
5.+Tulosta+kirjaluettelo.
6.+Lopetus.
+Anna+valintasi+[1+-+6]:
30.12.2020 06:38
Ja+nyt+olen+tässä+kohtaa.+Tietenkään+valikon+valinnat+eivät+vielä+toimi,+mutta+edistystä+silti!!!
KIRJA++++++++++++++++++++KIRJOITTAJA+++++++++++VUOSI
Peppi+Pitkätossu+++++++++Astrid+Lindgren+++++++1945
Vaahteramäen+Eemeli++++++Astrid+Lindgren+++++++1963
Pikku+naisia+++++++++++++Louisa+M.+Alcott++++++1868
Annan+nuoruusvuodet++++++L.+M.+Montgomery++++++1908
Paina+jotain+jatkaaksesi
'clear'+is+not+recognized+as+an+internal+or+external+command,
operable+program+or+batch+file.
++++++++1.+Hae+kirjan+nimellä,+kirjailijan+nimellä,+tai+vuosiluvulla.
++++++++2.+Muokkaa+kirjaluettelon+merkintää.
++++++++3.+Poista+kirjaluettelon+merkintä.
++++++++4.+Lisää+kirjaluetteloon+merkintä.
++++++++5.+Tulosta+kirjaluettelo.
++++++++6.+Lopetus.
+++++++++++Anna+valintasi+[1-6]+:
29.12.2020 18:14
Hip+huraa!!!+Nyt+toimii+ainakin+tallennus+tiedostoon+ja+haku+tiedostosta,+kun+otin+turhan+puolipisteen+pois!+Nätimmin+tulivat+näytölle,+kuin+tuossa+alla,+mutta+pakko+oli+laittaa+näytille!
Nyt+alan+tekemän+sitä+päävalikkoa+ja+jätän+sen+yhden+rivin+ylimääräisen+puolipisteen+laittamatta.
KIRJA++++++++++++++++++++KIRJOITTAJA+++++++++++VUOSI
Peppi+Pitkätossu+++++++++Astrid+Lindgren+++++++1945
Vaahteramäen+Eemeli++++++Astrid+Lindgren+++++++1963
Pikku+naisia+++++++++++++Louisa+M.+Alcott++++++1868
Annan+nuoruusvuodet++++++L.+M.+Montgomery++++++1908
Paina+jotain+jatkaaksesi
29.12.2020 11:08
No+voi+ei...+kyllä+Windowsin...,+nähtäväksi+jää+sitten,+osaanko+korjata...
29.12.2020 08:25
Tuo+yllä+oleva+on+nyt+tehty,+mutta+en+pääse+vielä+testaamaan+sen+toimivuutta,+sillä+se+ei+nyt+jostain+syystä+huoli+aiemmin+tehdyn+koodin+(koodia+alla)+jälkimmäisen+SaveListToFilen+perään+kaksoispistettä,+eikä+puolipistettä,+vaan+herjaa+invalid+syntax:a.
FileName='Kirjasto.txt'
def+SaveListToFile():
++++with+open(FileName,+'wb')+as+f:
++++++++pickle.dump(List,+f)
SaveListToFile():
#Seuraavaksi+otetaan+ja+luetaan+luettelo+tiedostosta+ja+tulostetaan+se+ruudulle.+
def+LoadFileToList():
++++if+os.path.isfile(FileName):
29.12.2020 08:19
Ok!+Ja+siis+teen+koodia+Visual+Studio+Codessa.
29.12.2020 06:59
Todella+outoa...+sieltä+sitä+etsin,+sillä+sinne+se+todella+on+tullut+aikaisemminkin.+Se+ilmestyi+sinne+tällä+kertaa+MELKOISELLA+viiveellä...+Syytä+en+osaa+arvata,+mutta+tyytyväisenä+totean+sen+nyt+olevan+oikeassa+paikkaa.+Tiedoston+tekstissä+vielä+hieman+sanomista+(alla+kopio+tekstistä),+mutta+muuten+koodi+toimii+siis+tähän+asti!+Näin+aloittelijana+sitä+vain+luulee,+että+on+tehnyt+virheen,+kun+koodi+ei+heti+ota+toimiakseen...
€•ç+++++++]”(}”(Œkirja”ŒPeppi+Pitkätossu”Œ
kirjailija”ŒAstrid+Lindgren”Œjv”Œ1945”u}”(hŒVaahteramäen+Eemeli”hhhŒ1963”u}”(hŒPikku+naisia”hŒLouisa+M.+Alcott”hŒ1868”u}”(hŒAnnan+nuoruusvuodet”hŒL.+M.+Montgomery”hŒ1908”ue.
28.12.2020 19:44
Selkeä+aloitus,+mutta+jostain+syystä+se+ei+tee+sitä+Kirjasto.txt-tiedostoa,+ei+toisin+anna+herjojakaan...
#!/usr/bin/env+python3
#+-*-+coding:+utf-8+-*-
#SaveList.py
#Alustetaan+kirja-lista,+ja+tallennetaan+kiintolevylle.+Kiintolevyltä+löytyy+tämän+jälkeen+(Kirjasto.txt)+tiedosto,+binaari+formaatissa.
import+pickle
List+=+[
{"kirja":"Peppi+Pitkätossu",++++"kirjailija":"Astrid+Lindgren",++"jv":"1945"},
{"kirja":"Vaahteramäen+Eemeli",+"kirjailija":"Astrid+Lindgren",++"jv":"1963"},
{"kirja":"Pikku+naisia",++++++++"kirjailija":"Louisa+M.+Alcott",+"jv":"1868"},+
{"kirja":"Annan+nuoruusvuodet",+"kirjailija":"L.+M.+Montgomery",+"jv":"1908"}
]
FileName='Kirjasto.txt'
def+SaveListToFile():
++++with+open(FileName,+'wb')+as+f:
++++++++pickle.dump(List,+f)
SaveListToFile();
28.12.2020 17:45
Uskomatonta...+nyt+se+herjaa+pickle:ä,+vaikka+kuinka+yritän+esitellä+sitä...,+miten+tämä+voi+olla+näin+vaikea???+Ymmätätisinköhän+sen+sillä+menulla+tehtynä+paremmin?
tiedosto+=+open("kirjasto.txt",+"a")+#_Avataan+tiedosto,+johon+tallennetaan.
#_Alla+oleva+tallennusrutiini+tallentaa+yhden+kirjan+yhdelle+riville.
List+=+[{"kirja1",+"kirjailija1",+"jv1"
"kirja2",+"kirjailija2",+"jv2"
"kirja3",+"kirjailija3",+"jv3"}]
#_"Sinun+tulee+pitää+yhtä+listaa+jonka+tallennat+näin":
def+SaveListToFile():
++++with+open("kirjasto.txt",+'wb')+as+f:
++++pickle.dump(List,+f)
#_"Käytä+(pickle)+ja+(os)+kirjastoja,+niin+lataus+ja+tallennus+on+yksinkertaista.+Tämä+varmistaa+tiedoston+olemassa+olon,+ettei+päädyttäisi+virheeseen."
def+LoadFileToList():
++++if+os.path.isfile("kirjasto.txt"):
++++++++List=[]
++++with+open("kirjasto.txt",+'rb')+as+f:
++++++++List+=+pickle.load(f)
++++return+List
#_"Ihan+varalta,+edellisiä+tallennus+ja+lataus+funktioita+kutsutaan+tarvittaessa+näin":
SaveListToFile();
List+=+LoadFileToList();
#_Kirjat+luetaan+tiedostoon+talteen+alla+olevalla+tavalla.
def+lataaTiedot(tiedosto):
++++lista+=+[]
++++with+open(tiedosto,+'r')+as+tiedostoObjekti:
++++++++++++for+rivi+in+tiedostoObjekti:
++++++++++++++++kirja+=+rivi.replace("\n","").split(',')
++++++++++++if+len(kirja)+==+3:
++++++++++++++++lista.append({"kirja":+kirja[0],+"kirjailija":+kirja[1],+"jv":+kirja[2]})
++++return+lista
#_Kirjat+tulostetaan+alla+olevalla+tavalla.
print(lataaTiedot("kirjasto.txt"))
[{'kirja':+'kirja1',+'kirjailija':+'kirjailija1',+'jv':+'jv1'},+{'kirja':+'kirja2',+'kirjailija':+
'kirjailija2',+'jv':+'jv2'},+{'kirja':+'kirja3',+'kirjailija':+'kirjailija3',+'jv':+'jv3'}]
tiedosto.close()+#_Suljetaan+tiedosto,+johon+on+tallennettu.
#-----ALKAA+Funktioiden+esittely----------------------------------------
#Näitä+kahta+funktiota+tarvitaan,+kun+etsitään,+onko+kirjastossa+haluttua+kirjaa+ja
#kun+poistetaan+kirjaa.
#Etsitään+onko+List:ssä+kirjaa.
def+onkoKirjaa(kirja):
++++for+x+in+List:
++++++++if+x["kirja"]==kirja:+return+True
++++return+False
#Palautetaan+kirja.
def+getKirja(kirja):
++++for+x+in+List:
++++++++if+x["kirja"]==kirja:+return+x
++++return+None+
#-----LOPPUU+Funktioiden+esittely---------------------------------------
print("Tervetuloa+Kirjakauppaan!",+"\n",+"\n"+#Näin+saat+tekstiin+rivinvaihdon+lisäksi+välirivin.
"Uuden+kirjan+lisäys+Kirjakauppaan:",+"\n"+
"Jos+et+nyt+halua+lisätä+kirjaa,+niin+lisää+numero+nolla+seuraaviin+kohtiin,+muutoin+anna+pyydetyt+tiedot:")
kirja+=+input("Kirjan+nimi:+")
kirjailija+=+input("Kirjailijan+nimi:+")
jv+=+input("Julkaisuvuosi:+")
#-----ALKAA+Lisätään+appendilla+uusi+kirja------------------------------
#Lisätään+uusi+tuote+List:aan
uusiKirja+=+{"kirja":kirja,+"kirjailija":kirjailija,+"jv":jv}
if+kirja+!=+"0"+and+kirjailija+!=+"0"+and+jv+!=+"0":+#Blokkaa+pois+sen,+että+nollat+tallentuisivat+uutena+kirjana+jne.
++++List.append(uusiKirja)
#-----LOPPUU+Lisätään+appendilla+uusi+kirja-----------------------------
tiedosto+=+open("kirjasto.txt",+"w")+#Tiedostokahvalle+nimeksi+tiedosto+ja+uuden+
#tiedoston+avaaminen+kirjoittamista+varten.
#Pyyntö+kirjoittaa+yllä+pyydetyt+tiedot+tiedostoon+riveittäin.
tiedosto.write(kirja+++"\n")
tiedosto.write(kirjailija+++"\n")
tiedosto.write(jv+++"\n")
tiedosto.close()+#Tiedoston+sulkeminen.
tiedosto+=+open("kirjasto.txt",+"r")+#Tiedoston+avaaminen+lukemista+varten.+
++
while+True:
++++
++++print("Anna+valitsemasi+kirjan+nimi,+niin+tulostan+sen,+jos+se+löytyy+kirjastosta.")
++++print("Komennolla+Kaikki+tulostetaan+kaikki+kirjaston+kirjat.")+
++++print("Komennolla+Poista+poistetaan+valitsemasi+kirjaston+kirja.")
++++print("Komennolla+Poistu,+tämä+kirjasto-ohjelma+sulkeutuu.")
++++
++++valinta+=+input().capitalize()+#Asiakas+voi+syöttää+vastauksensa,+joka+alkaa+pienellä+kirjaimella+esim.+poistu+->+Poistu
+++++
++++if+valinta+==+"Poistu":+#Ohjelmasta+poistuminen.
++++++++break
++++elif+valinta+==+"Kaikki":+#Kaikkien+kirjaston+kirjojen+tulostaminen.
++++++++for+x+in+List:
++++++++++++print(x["kirja"])
++++++++++++print(x["kirjailija"])
++++++++++++print(x["jv"],+"\n")+#\n+erottelee+tulokset+toisistaan+=+tyhjä+rivi
+
++++elif+onkoKirjaa(valinta):+#Tulostaa+pyydetyn+kirjan,+jos+se+on+kirjastossa.
++++++++print(getKirja(valinta))
++++#elif+valinta+==+"Poista":
++++elif+onkoKirjaa(valinta):+#Etsitään,+onko+List:ssä+kirjaa.
++++++++print(getKirja(valinta))+#Palautetaan+kirja.
++++elif+valinta+==+"Poista":+#Poistaa+pyydetyn+kirjan+kirjastosta.
++++++poistettava+=+input+("Minkä+kirjan+haluat+poistaa?+")
++++++for+i+in+range(len(List)):
++++++++if+List[i]['kirja']+==+poistettava:
++++++++++del+List[i]
++++++++++break
++++++print("Jäljelle+jääneet+kirjat:\n"+++",+".join(x["kirja"]+for+x+in+List))
++++else:
++++++++print("Syötteesi+oli+virheellinen,+tai+tätä+kirjaa+ei+ole+tässä+kirjastossa.")
tiedosto.close()+#Suljetaan+tiedosto.
27.12.2020 19:27
Hmmm...+ja+mielestäni+tein+sen+niin,+että+tallentaisi+ja+että+ei+tallantaisi+vanhan+päälle...+ja+jäin+miettimään+vain+näitä+viimeisiä+herjoja...
Mitenkä+se+sitten+korjataan+niin,+että+tallentaa+aina+uutta+ja+jättää+vanhan+tallennuksen+myös?
27.12.2020 15:15
Ja+herja+rivillä+41+on+siis:+TypeError:+'set'+object+is+not+subscriptable
Enkä+saa+sitä+poistumaan+millään,+tai+sitten+herja+siirtyy+toiseen+paikkaan...
25.12.2020 09:11
Ja+koodini+ensimmäinen+rivi+siis+on:
#_Tämä+on+tehtäväharjoitukseni,+joka+tallentaa,+jos+osaan+sen+tehdä.
24.12.2020 19:08
3 / 4