Elikkäs pitäisi koodata tämmöinen ohjelma:
"Tee ohjelma, jossa käyttäjä voi (1) lisätä tuotteita listaan, (2) poistaa tuotteita listalta tai (3) lopettaa.
Mikäli käyttäjä lisää tuotteen listaan, pyytää ohjelma syötteen "Mitä lisätään?: ") ja laittaa sen listan viimeiseksi alkioksi. Jos käyttäjä haluaa poistaa tuotteen, kertoo ohjelma "Listalla on [määrä] alkiota", ja käyttäjä antaa syötteen "Monesko niistä poistetaan?", jonka jälkeen ohjelma poistaa numeronmukaisen alkion (0 on siis 1. alkio).
Jos käyttäjä lopettaa, tulostaa ohjelma "Listalla oli tuotteet:" ja listan sisällön kokonaisuudessaan allekkain. Virheelliseen valintaan reagoidaan tulostamalla rivi "Virheellinen valinta"."
Olen tästä saanut tämmöisen koodin aikaan:
lista=[] while True: valinta = int(input("Haluatko\n(1) Lisätä listaan\n(2)Poistaa listalta vai\n(3)Lopettaa?: ")) if valinta == 1: lisays=input("Mitä lisätään?: ") lista.append(lisays) elif valinta == 2: print("Listalla on ",len(lista)," alkiota.\n") poisto=int(input("Monesko niistä poistetaan?: ")) if poisto > len(lista): // TÄMÄ EI TOIMI print("Virheellinen valinta") // JA TÄMÄ lista.pop(poisto) elif valinta == 3: print("Listalla oli tuotteet:") for i in lista: print(i) break else: print("Virheellinen valinta")
Elikkä ongelmana minulla on että en osaa laittaa tuohon koodipätkää valinta 2 kohdalle, jossa pitäisi saada virheellinen valinta ominaisuus jos näppäilee suuremman valinnan mitä listalla alkioita on... osaisiko joku auttaa minua tässä?? Kiitän teitä jo etukäteen..
Tuon ongelmakohdan pitäisi varmaankin olla
// Koska laskeminen alkaa nollasta, niin pituuskin on jo liikaa if poisto >= len(lista): print("Virheellinen valinta") else: //Tehdään vain JOS valinta ei ollut virheellinen lista.pop(poisto)
En itse ainakaan saa tuolla toimimaan, kun en saa laitettua if ja else lauseita elif lauseen sisälle, niin että se toimisi..
Lisäys: anteeksi, toimihan se :D sisennykset olivat mulla väärin, kiitän!
Aihe on jo aika vanha, joten et voi enää vastata siihen.