Kartkówka – funkcje, instrukcja warunkowa, pętla while

Treść zadania

Napisz program w języku Python, który:

  1. Tworzy własną funkcję o nazwie zadanie().
  2. W funkcji:
    • program prosi użytkownika o podanie liczby całkowitej dodatniej,
    • jeśli liczba jest mniejsza lub równa 0 – wyświetla komunikat
      "Liczba musi być dodatnia"
      i prosi ponownie o podanie liczby (użyj pętli while),
    • gdy użytkownik poda poprawną liczbę:
      • program oblicza sumę wszystkich liczb od 1 do podanej liczby,
      • wyświetla wynik.
  3. Na końcu wywołaj funkcję zadanie().

Rozwiązanie zadania.

def zadanie():
    liczba = int(input("Podaj liczbę dodatnią: "))

   
    while liczba <= 0:
        print("Liczba musi być dodatnia")
        liczba = int(input("Podaj liczbę dodatnią: "))

    if liczba > 0:
        suma = liczba * (liczba + 1) // 2
        print("Suma liczb od 1 do", liczba, "wynosi:", suma)

zadanie()


#alternatywnie 
# suma = 0
# i = 1

# while i <= liczba:
#     suma = suma + i
#     i = i + 1

# więc alternatywnie można rozwiązać to tak !
def zadanie1():
    # Pobranie liczby od użytkownika
    liczba = int(input("Podaj liczbę dodatnią: "))

    # Sprawdzamy czy liczba jest dodatnia
    # Jeśli nie, program będzie pytał ponownie
    while liczba <= 0:
        print("Liczba musi być dodatnia")
        liczba = int(input("Podaj liczbę dodatnią: "))

    # Zmienna do przechowywania sumy
    suma = 0

    # Zmienna pomocnicza do liczenia od 1 wzwyż
    i = 1

    # Pętla będzie działać dopóki i jest mniejsze lub równe podanej liczbie
    while i <= liczba:
        suma = suma + i   # dodajemy aktualną wartość i do sumy
        i = i + 1         # zwiększamy i o 1

    # Wyświetlenie wyniku
    print("Suma liczb od 1 do", liczba, "wynosi:", suma)


# Wywołanie funkcji
zadanie1()