giganciprogramowania

Statystyki gracza python l6

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