View difference between Paste ID: E8mUMxuZ and P0JYhFKS
SHOW: | | - or go back to the newest paste.
1
baza_gier = []
2
nazwa_pliku = "staty.txt" #Dla wygody zapisujemy to w zmiennej aby się nie pomylić
3
plik = open(nazwa_pliku, "a")
4
plik.close()
5
plik = open(nazwa_pliku, "r")
6
for line in plik:
7
    line = line.replace("\n", "")# usuwamy enter z końca linii
8
    gra = line.split('|')
9
    baza_gier.append(gra)
10
plik.close()
11
12
lista_naglowkow = ["Tytuł", "Ilość rozegranych partii", "Ilość wygranych partii", "Stosunek wygranych partii do wszystkich partii"]
13
menu = ["Dodaj nową grę", "Zarejestruj nową rozgrywkę","Zobacz statystyki gry", "Usuń grę ze statystyk", "Zakończ"]
14
15
def pokaz_menu():
16
    for i in range(len(menu)):
17
        print(f"{i+1}. {menu[i]}")
18
    wybor = int(input("Podaj wybór: "))
19
    return wybor
20
21
def dodaj_nowa_gre():
22
    tytul = input("Podaj tytuł nowej gry: ")
23
    gra = [tytul, 0,0,0] #na start dla każdej satystyki 0
24
    baza_gier.append(gra)
25
26
def wybierz_gre():
27
    for i in range(len(baza_gier)):
28
        print(f"{i+1}. {baza_gier[i][0]}")
29
    wybrana = 0
30
    while wybrana <= 0 or wybrana > len(baza_gier):
31
        wybrana = int(input("Wybierz numer gry: "))
32
        if wybrana <= 0 or wybrana > len(baza_gier):
33
            print("Taka gra nie istnieje w bazie")
34
    return wybrana-1
35
36
def dopisz_rozgrywke(numer_gry):
37
    gra = baza_gier[numer_gry]
38
    gra[1] += 1 #zwiększamy ilość rozgrywek
39
    czy_wygrana = input("Czy partia została wygrana? (tak/nie) ")
40
    czy_wygrana = czy_wygrana.lower()
41
    if czy_wygrana == "tak":
42
        gra[2] += 1 #zwiększamy ilość wygranych
43
    procent = gra[1]/gra[2] * 100 #Obliczamy procent wygranych rozgrywek
44
    gra[3] = procent
45
    baza_gier[numer_gry] = gra
46
47
def pokaz_statystyki_gry(numer_gry):
48
    gra = baza_gier[numer_gry]
49
    for i in range(len(lista_naglowkow)):
50
        print(f"{lista_naglowkow[i]}: {gra[i]}")
51
52
53
def usuwanie_gry(numer_gry):
54
    tytul = baza_gier[numer_gry][0]
55
    czy_napewno = input(f"Czy napewno checesz usunąć z listy {tytul}? ")
56
    czy_napewno = czy_napewno.lower()
57
    if czy_napewno == "tak":
58
        baza_gier.pop(numer_gry)
59
60
def zapis_do_pliku():
61
    plik = open(nazwa_pliku, "w")
62
    for gra in baza_gier:
63
        linia = "|".join(gra)
64
        plik.write(linia + "\n")
65
    plik.close()
66
67
czy_koniec = False
68
while not czy_koniec:
69
    print("___________________")
70
    wybor = pokaz_menu()
71
    if wybor == 1:
72
        print("Dodaj nową grę")
73
        dodaj_nowa_gre()
74
    elif wybor == 2 and len(baza_gier) != 0:
75
        print("Zarejestruj nową rozgrywkę")
76
        wybrana_gra = wybierz_gre()
77
        dopisz_rozgrywke(wybrana_gra)
78
    elif wybor == 3 and len(baza_gier) != 0:
79
        print("Zobacz statystki gry")
80
        wybrana_gra = wybierz_gre()
81
        pokaz_statystyki_gry(wybrana_gra)
82
    elif wybor == 4 and len(baza_gier) != 0:
83
        print("Usuń grę ze statystyk")
84
        wybrana_gra = wybierz_gre()
85
        usuwanie_gry(wybrana_gra)
86
    elif wybor == 5:
87
        print("Koniec programu")
88
        zapis_do_pliku()
89
        czy_koniec = True
90
    elif 2 >= wybor <= 4 and len(baza_gier) == 0:
91
        print("Baza gier jest pusta - Akcja niedozwolona")
92
    else:
93
        print("Zły wybór")
94