Wczytywanie liczb zmiennoprzecinkowych

0

Witam, tworze sobie prosty program do pobierania trzech liczb, wszystko okej, lecz chciałem je podać po przecinku zamiast spacji i wyskakuje błąd zwiazany z floatem.

kk = "t"
while kk == "t":
    a, b, c = float(input("Podaj trzy liczby po przecinku: "))

    print("Wprowadzono liczby:", a, b, c)
    print("\nNajmniejsza:")

    if a < b:
        if a < c:
            najmniejsza = a
        else:
            najmniejsza = c
    elif b < c:
        najmniejsza = b
    else:
        najmniejsza = c

    print(najmniejsza)

    kk = input("Jeszcze raz (t/n)? ")

print("Koniec.")
1

Zamień 3 linię na

a, b, c = [float(num) for num in input("Podaj trzy liczby po przecinku: ").split(",")]

i powinno działać tak jak chcesz.

0

Dzięki, działa. Myślałem też że to wina splitu, ale jego też usnąłem i nie chciało ruszyć

0

A jak już zamienisz 3 linię, to ten fragment:

 print("\nNajmniejsza:")
    if a < b:
        if a < c:
            najmniejsza = a
        else:
            najmniejsza = c
    elif b < c:
        najmniejsza = b
    else:
        najmniejsza = c
 
    print(najmniejsza)

możesz zastąpić jedną linią. Ew,. wypisać największą i średnią wedle uznania.

0

W związku z tym co napisał przedmówca, polecam zapoznać się z bardzo krótką tabelką bazowych komend pythona.
I zachęcam do przeczytania tych których nie znasz, co mocno optymalizuje i skraca kod :)

https://docs.python.org/3/library/functions.html

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