Example #1
0
def kysy_liukuluku(kysymys, alaraja, ylaraja):
    """Kysyy käyttäjä liukuluvun tai kokonaisluvun ja tarkistaa syötteen oikean tietotyypin ja suuruuden

    Args:
        kysymys (str): Käyttäjälle esitettävä kysymys
        alaraja (float): pienin sallittu arvo
        ylaraja (float): suurin sallittu arvo

    Returns:
        float: käyttäjän syöttämä arvo liukulukuna
    """
    # Kysytään käyttäjältä tietoa, kunnes saadaan järkevä arvo
    luku = 0
    tapahtui_virhe = True

    while tapahtui_virhe == True:

        # Esitetään parametrina annettu kysymys ja tallennetaan vastaus (merkkijono) muuttujaan
        vastaus_str = input(kysymys + ' ')

        # Tarkistetaan syötteen järkevyys, virhetiedot ja arvo tallennetaan listamuuttujaan tulokset
        tulokset = sanity2.liukuluvuksi(vastaus_str)

        # Katsotaan onko virhekoodi 0, ja tallennetaan arvo muuttujaan vastaus
        if tulokset[0] == 0:
            vastaus = tulokset[2]

            # Tehdään raja-arvotarkistus, virhetiedot muuttujaan tarkistusviesti
            tarkistusviesti = sanity2.rajatarkistus(vastaus, alaraja, ylaraja)

            # Katsotaan onko arvo sallittujen rajojen sisällä tutkimalla virhekoodia
            if tarkistusviesti[0] == 0:
                tapahtui_virhe = False
                luku = vastaus

            else:
                # Jos raja-arvotarkistuksen virhekoodi ei ole 0, tulostetaan virheilmoitus
                print(tarkistusviesti[1])

        # Jos liukulukutarkistuksen virhekoodi ei ole 0, tulostetaan virheilmoitus
        else:
            print(tulokset[1])

    return luku
Example #2
0
def kysy_liukuluku(kysymys, alaraja, ylaraja):
    """Kysyy käyttäjältä liukuluvun tai kokonaisluvun ja tarkistaa syötteen oikean tietotyypin ja suuruuden

    Args:
        kysymys (string): Käyttäjälle esitettävä kysymys
        alaraja (float): Pienin sallittu arvo
        ylaraja (float): Suurin sallittu arvo

    Returns:
        float: Käyttäjän syöttämä arvo liukulukuna
    """
    # Kysytään käyttäjältä tietoa kunnes saadaan järkevä arvo
    luku = 0
    tapahtui_virhe = True

    while tapahtui_virhe == True:
        vastaus_str = input(kysymys)
        tulokset = sanity2.liukuluvuksi(vastaus_str)

        # Katsotaan onko virhekoodi 0, ja tallennetaan arvo muuttujaan paino
        if tulokset[0] == 0:
            vastaus = tulokset[2]
            tarkistettu_vastaus = sanity2.rajatarkistus(
                vastaus, alaraja, ylaraja)

            # Katsotaan onko arvo sallittujen rajojen sisällä tutkimalla virhekoodia
            if tarkistettu_vastaus[0] == 0:
                tapahtui_virhe = False
                luku = vastaus

            else:
                # Tulostetaan virheilmoitus
                print(tarkistettu_vastaus[1])

        # Jos virhekoodi ei ole 0, tulostetaan virheilmoitus
        else:
            print(tulokset[1])

    return luku
def test_rajatarkistus_oikein():
    assert sanity2.rajatarkistus(100, 20, 300) == [0, 'Arvo OK']
def test_rajatarkistus_yli():
    assert sanity2.rajatarkistus(
        350, 20, 300) == [6, 'Annettu arvo yli ylärajan (300).']
def test_rajatarkistus_alle():
    assert sanity2.rajatarkistus(
        10, 20, 300) == [5, 'Annettu arvo alle alarajan (20).']
Example #6
0
def test_rajatarkastus_yli():
    assert sanity2.rajatarkistus(350, 20,
                                 300) == [2, 'Arvo on yli ylärajan (300)']
Example #7
0
def test_rajatarkastus_alle():
    assert sanity2.rajatarkistus(10, 20,
                                 300) == [1, 'Arvo on alle alarajan (20)']