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.