Pytanie początkującego. Jak zapętlić kod?

0

Witam!
Jako, że na chwilę obecną jestem jeszcze początkujący mam pewien problem z Python'em. Mianowicie chciałbym zapętlić swój kod tak by po wybraniu wszystkich opcji wracał na początek w celu ponownej możliwości dokonania wyborów z zapamiętaniem poprzednich wyborów.
Tutaj jest kod:

print("Kreator postaci!")
print("Masz 30 pkt na rozdanie w celu stworzenia swojej postaci")
print(
    '''
    Statystyki:
    1) sila
    2) zrecznosc
    3) inteligencja
    4) zdrowie
    
    '''
)

postac = {"Sila" : 0,
          "Zrecznosc" : 0,
          "Inteligencja" : 0,
          "Zdrowie" : 0}
statystyki = 30


while statystyki != 0 and statystyki <= 30:
    wybor = input("W co chcesz wpakowac/usunac punkty: ")
    adding = input("Chcesz dodac czy odjąc: ")
    if adding == "dodac":
        if wybor in postac:
            punkty = int(input("Ile punktow chcesz wpakowac? ")) 
            postac[wybor] += punkty
            statystyki -= punkty
            print("Parametr", wybor, "zwiekszyl sie o: ", punkty, "i pozostalo ci ", statystyki, "pkt do rozdania.")
    elif adding == "odjac" and statystyki != 30:
        if wybor in postac:
            punkty = int(input("Ile punktow chcesz wpakowac? "))
            postac[wybor] -= punkty
            statystyki += punkty
            print("Parametr", wybor, "zmniejszyl sie o: ", punkty, "i pozostalo ci ", statystyki, "pkt do rozdania.")
    else:
        print("Nieprawidlowy komunikat")
    cont = input("Wykorzystales swoje punkty. Czy chcesz cos jeszcze zmienic? Y/N: ")
    if cont == "Y" and statystyki == 0:
        continue
    else:
        break

print("\nWykorzystales wszystkie mozliwe punkty statystyk")
print("\nTwoje statystyki wygladaja nastepujaco: ")
for x in postac:
    print(x, postac[x]) 


Jestem świadomy tego, że może on wyglądać prościej ale póki co nie doszedłem do tego jak to zrobić :)
(Tak na marginesie to jestem samoukiem)

0

Tak bym to zmienił, przynajmniej robi co Chciałeś, ale dalej tu są błędy, można odejmować od cechy więcej niż się dodało, zabezpieczenia też są potrzebne przy odejmowaniu.

print("Kreator postaci!")
print("Masz 30 pkt na rozdanie w celu stworzenia swojej postaci")
print(
    '''
    Statystyki:
    1) sila
    2) zrecznosc
    3) inteligencja
    4) zdrowie

    '''
)

postac = {"Sila" : 0,
          "Zrecznosc" : 0,
          "Inteligencja" : 0,
          "Zdrowie" : 0}
statystyki = 30

while True:
    wybor = input("W co chcesz wpakowac/usunac punkty: ")
    adding = input("Chcesz dodac czy odjąc: ")
    if adding == "dodac":
        if wybor in postac:
            punkty = int(input("Ile punktow chcesz wpakowac? ")) 
            while (statystyki - punkty < 0):
              print("Aktualne statystyki: ", statystyki)
              punkty = int(input("Podaj odpowiednia liczbe")) 
              
            postac[wybor] += punkty
            statystyki -= punkty
            print("Parametr", wybor, "zwiekszyl sie o: ", punkty, "i pozostalo ci ", statystyki, "pkt do rozdania.")
    elif adding == "odjac" and statystyki != 30:
        if wybor in postac:
            punkty = int(input("Ile punktow chcesz wpakowac? "))
            postac[wybor] -= punkty
            statystyki += punkty
            print("Parametr", wybor, "zmniejszyl sie o: ", punkty, "i pozostalo ci ", statystyki, "pkt do rozdania.")
    else:
        print("Nieprawidlowy komunikat")
    cont = input("Nadales parametry. Czy chcesz cos jeszcze zmienic? Y/N: ")
    if cont == "Y":
        continue
    else:
        break
0

Ok dzięki za podpowiedź :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1