Kod w python - zliczenie liczb parzystych i nieparzystych podanych przez użytkownika

Ogólnie od marcin82 dostałeś gotowca. Rożnica jest, że on to robi na listach a nie na inkrementacji zmiennej ale cała struktura kodu będzie wyglądać identycznie.

Ok zobaczy pierwszy kod

Zacznijmy od wyrzucenia fragmentu kodu który nic nie robi. Wiec z tego kodu zostanie tobie to:

ln=0
liczba = 2021 # <- ważna jest tylko definicja zmiennej np. możesz wpisać 2021 bo mamy taki rok jako ester egg
while liczba != 0:
      liczba = int(input("Podaj liczbę: "))
      ln=ln+1 # <- nadal liczysz każdą liczbę nie tylko nieprzayste
else:
     print("ilosc liczb Nieparzystych podanych przez użytkownika", ln)

Analogicznie kod dla liczb parzystych

lp=1 # <- Zaczynając liczyć od 1, dodajesz jedną liczbę dodatnią do wyniku końcowego
liczba = 2021 # <- ważna jest tylko definicja zmiennej np. możesz wpisać 2021 bo mamy taki rok jako ester egg
while liczba != 0:
      liczba = int(input("Podaj liczbę: "))
      lp=lp+1 # <- nadal liczysz każdą liczbę nie tylko przayste
else:
     print("ilosc liczb parzystych podanych przez uzytkownika", lp)

Wskazówka jest nadal taka sama

2 polubienia

@nowy123

Działa to tak samo, porównaj:
Increment And Decrement Operators In Python - Python Guides .

#!/usr/bin/python

lp = 0
ln = 0
liczba = ''

def policz():
  print("\nLiczb parzystych:", lp, "\nLiczb nieparzystych:", ln)

print("\n\t>>> Wprowadź '0', aby zakończyć i wyświetlić ile wprowadzono liczb parzystych, a ile nieparzystych. <<<\n")

while liczba != 0:
  liczba = int(input("Podaj liczbę: "))
  if liczba%2 == 0:
    lp+=1
  else:
    ln+=1
else:
  policz()

Przebieg i wynik działania ten sam jak dałem wyżej. Zmienne lp i ln nie przechowują teraz zestawu wprowadzonych liczb tylko działają jak licznik - startujesz od wartości „0”.

2 polubienia

Rozwiązane mam już, na coś wpadłem @aesereht @marcin82 dzięki za wsparcie przy ćwiczeniu.

liczba = 1
lp=0
ln=0
while liczba != 0:
    liczba = int(input("podaj liczbe: "))
    if liczba%2 == 0:
        lp=lp+1
        print("ilosc liczb parzystych", lp)
        print("ilosc liczb nieparzystych", ln)
    else:
        ln=ln+1
        print("ilosc liczb nieparzystych", ln)
        print("ilosc liczb parzystych", lp)

@aesereht tylko czemu ma być ta definicja jako dowolna liczba np 2021 czy 2 lub 1 dla

#liczba = 1 - ta definicja do czego służy? poproszę o jakieś tłumaczenie co bym mógł zrozumieć 

@aesereht
Dalej będę coś myśleć a chciałem jedynie przy użyciu pętli i warunków.
Jest gotowiec, ale wracam do tego mego czegoś…

Zmiennej Liczba używasz tylko do sprawdzenia czy liczba jest podzielna przez dwa i czy nie równa się zero. Więc ważne jest, żebyś przed jej sprawdzeniem ją zdefiniował.

Może być dowolną liczbą, bo nie ma to znaczenia. Jako, że przed sprawdzeniem czy liczba jest parzysta czy nie wprowadzasz ją ponownie z ręki.

Ten fragment nadpisuje wartość wpisanej liczby

Ważne tylko, żebyś przy definiowaniu nie użył wartości 0, bo od razu zakończysz pętle while lub wartości tekstowej, bo wyskoczy ci błąd (jako, że sprawdzenia Liczba != 0 nie można robić na stringach). Możesz też użyć pustej wartości czyli.

Wtedy po prostu definiujesz, że taka zmienna jest.

1 polubienie

Ten kod możesz spokojnie skrócić :slight_smile:

liczba = ""
parzyste = 0
nieparzyste = 0

print("Podaj dowolną liczbę większą, niż zero. Aby zakończyć działanie programu, wpisz 0.")

while liczba != 0:
    liczba = int(input("Podaj liczbę: "))
    if liczba % 2 == 0:
        parzyste += 1
    else:
        nieparzyste += 1

print("Podałeś %i razy liczbę parzystą: " % parzyste)
print("Podałeś %i razy liczbę nieparzystą: " % nieparzyste)
1 polubienie

Lekki tuning :slight_smile: U mnie dłuższy kod, ale chociaż wywalczony dzielnie.

1 polubienie