Problem z funkcją. Tajemniczy argument "krok"

0
def ask_number(question, low, high):
    """Ask a yes or no question"""
    response = None
    while response not in range(low, high):
        response = int(input(question))
    return response


input("\n\nPress the enter key to exit.")

# funkcja ask_number modyfikacja
def ask_number(question, low, high, step = 1):
    """Ask a yes or no question"""
    response = None
    while response not in range(low, high):
        response = int(input(question))
    return response



input("\n\nPress the enter key to exit.")


# Jaka to liczba modyfikacja


import random

def ask_number(question, low, high):
    response = None
    while response not in range(low, high):
        response = int(input(question))
    return response
print("\tWitam w programie 'Jaka to liczba!")
print("Masz dziesięć prób na odgadnięcie liczby")

liczba = random.randint(1, 100)
guess = ask_number("Podaj liczbę: ", 1, 100)
próba = 10
while guess != liczba:
    if próba == 0:
        print("Skończyły ci się próby")
        break
    if guess < liczba:
        print("Za mała")
    elif guess > liczba:
        print("Za duża")
    else:
        print("Zgadłeś")
    guess = ask_number("Podaj liczbę: ", 1, 100)
    próba -= 1
print("Zgadłeś! Twoja liczba to: ", guess)



input("\n\nAby zakończyć program naciśnij enter.")

# liczenie z odstępem

for i in range(1, 100, 5):
    print(i)

Powyżej zamieściłem oryginalną funkcję z rozdziału z książki. Moim zadaniem jest zmienić tę funkcję aby mogła być wywoływana z wartością kroku i ustawić wartość kroku domyślnie na 1. Nie bardzo rozumiem co ma na celu to zadanie. Dodałem wartość step = 1 do metod wywołania. Po co?
W zadaniu drugim mam przerobić wcześniejsze zadanie z książki gdzie muszę odgadnąć liczbę jaką wybierze komputer. Przerobiłem to zadanie przy użyciu oryginalnej funkcji bez wartości krok. I rozumiem, że funkcja będzie zwracać dotąd string dopóki nie podam liczby z zakresu ustalonego w instrukcji funkcji. Nie rozumiem tej postaci z krokiem. Wyżej podałem pętle for in range i wywołuję ją z indeksem początkowym , indeksem końcowym i odstępem. Czyli komputer wypisze liczby od 1 do 100 co pięć. Myślę, że odstęp 5 to krok? Czy źle myślę. Co to jest krok? Ma coś to wspólnego z funkcją lambda? Szukałem w internecie informacji na temat kroku po angielsku i jedyne co się pojawiało to funkcja lambda. Jestem skołowany.

2

zadanie na liczbach

Powtarzam zalecenie, spalić tą książkę.

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