Advertisement
PrezesSmoku

Statystyki gracza

May 24th, 2023 (edited)
639
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.14 KB | None | 0 0
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement