4 Järjendid

Järjendid (listid) Pythonis

Konspteeritud ülevaade — Töötajate palkade haldamine sinu GitHubi koodi põhjal

https://github.com/AnastasiiaRadasheva/kivi-paber-kaarid

kood:

import random

valik = ["kivi", "paber", "käärid"]
tulemused = []  
kellega = input("Kahe inimesega või robotiga? ").lower()
count = 1
viik = 0 
countmang1 = 0
countmang2 = 0

if kellega in ["kahe inimesi", "inimesega", "kahe inimesega"]:
    count = 2
    mängija = input("Sisesta nimi 1: ").title()
    mängija2 = input("Sisesta nimi 2: ").title()
elif kellega in ["robotiga", "üksi", "robootiliselt", "robot"]:
    count = 1
    mängija = input("Sisesta nimi: ").title()
else: 
    print("Proovi uuesti!")
    exit()

print("Mäng alustati! Kirjutage 'stopp', et lõpetada mäng.")

while True:
    try:
        if count == 1: 
            mängija_valik = input("Sisesta: kivi, paber või käärid (või 'stopp' lõpetamiseks): ").lower()
            if mängija_valik == "stopp":
                break
            if mängija_valik in valik:
                robot = random.choice(valik)
                print(f"Robot valis: {robot}")

                if mängija_valik == robot:
                    winner = "Viik"
                    viik += 1
                    print("Viik!")
                elif (mängija_valik == "kivi" and robot == "käärid") or \
                     (mängija_valik == "käärid" and robot == "paber") or \
                     (mängija_valik == "paber" and robot == "kivi"):
                    winner = mängija
                    countmang1 += 1
                    print(f"{mängija} on võitja!")
                else:
                    winner = "Robot"
                    countmang2 += 1
                    print("Robot on võitja!")

                tulemused.append(f"{mängija} valis {mängija_valik}, Robot valis {robot}. Võitja: {winner}")
            else: 
                print("Vale valik, proovi uuesti.")

        elif count == 2:
            mängija_valik = input(f"{mängija}, sisesta: kivi, paber või käärid (või 'stopp' lõpetamiseks): ").lower()
            if mängija_valik == "stopp":
                break
            mängija1_valik = input(f"{mängija2}, sisesta: kivi, paber või käärid (või 'stopp' lõpetamiseks): ").lower()
            if mängija1_valik == "stopp":
                break

            if mängija_valik in valik and mängija1_valik in valik:
                if mängija_valik == mängija1_valik:
                    winner = "Viik"
                    viik += 1
                    print("Viik!")
                elif (mängija_valik == "kivi" and mängija1_valik == "käärid") or \
                     (mängija_valik == "käärid" and mängija1_valik == "paber") or \
                     (mängija_valik == "paber" and mängija1_valik == "kivi"):
                    winner = mängija
                    countmang1 += 1
                    print(f"{mängija} on võitja!")
                else:
                    winner = mängija2
                    countmang2 += 1
                    print(f"{mängija2} on võitja!")

                tulemused.append(f"{mängija} valis {mängija_valik}, {mängija2} valis {mängija1_valik}. Võitja: {winner}")
            else:
                print("Vale valik, proovi uuesti.")

    except ValueError:
        print("Viga, palun proovige uuesti.")
print("Kokkuvõte:")
print(f"{mängija} võite: {countmang1}")
print(f"{mängija2 if count == 2 else 'Robot'} võite: {countmang2}")
print(f"Viike: {viik}")
print("Mäng on lõppenud. Aitäh mängimast!")

Mis on järjend?

Järjend ehk list on Pythonis andmetüüp, mis võimaldab salvestada mitut väärtust ühes muutujas. Järjendis olevad andmed on järjestatud ja muudetavad.

Näide:

valik = ["kivi", "paber", "käärid"]

See on järjend kolme stringiga. Igal elemendil on oma indeks:

  • valik[0]"kivi"
  • valik[1]"paber"
  • valik[2]"käärid"

Kasutamine programmis


1. Valikute hoidmine

valik = ["kivi", "paber", "käärid"]

Järjendit kasutatakse selleks, et määratleda lubatud valikud mängus. Sisestus kontrollitakse:

if kasutaja_valik in valik:
    # kehtiv valik

See aitab vältida vigu ja juhendab kasutajat valima ainult lubatud võimalusi.


2. Tulemuste kogumine

tulemused = []

See on tühi järjend, kuhu mängu käigus lisatakse infot mängude kohta:

tulemused.append("Mängija valis paber, robot valis kivi. Võitja: Mängija")

Tulemuseks tekib järjend, kus iga element on string ühe mängu kirjeldusega.


Olulised omadused

  • Muudetav – saab elemente juurde lisada, muuta, kustutada.
  • Järjestatud – iga element on kindlas kohas (positsioonis).
  • Toetab tsükleid – saab kasutada näiteks for tsüklit järjendi läbimiseks.
  • Toetab in operaatorit – kontrollimiseks, kas mingi väärtus on järjendis.

Tüüpilised meetodid

  • append(x) – lisab väärtuse lõppu
  • remove(x) – eemaldab kindla väärtuse
  • pop(i) – eemaldab väärtuse kindlal kohal
  • len(list) – tagastab järjendi pikkuse (elementide arvu)

Näide kokkuvõttest

for tulemus in tulemused:
    print(tulemus)

See tsükkel kuvab kõik mängitud voorud, mis on kogutud tulemused järjendisse.


Kokkuvõte

Järjendid on üks olulisemaid andmestruktuure Pythonis. Need võimaldavad:

  • Hallata valikuid
  • Koguda tulemusi
  • Töötada mitme andmeühikuga korraga

Järjendid sobivad igasugustesse programmidesse, kus on vaja hoida ja töödelda elementide kogumit.