Форум сайта python.su
0
Приветствую сообщество.
Простая программка для вычисления корня числа.
Вот только на экран выводится 4.0 , 8.0 и тд.
def koren(): print("Введите целое (+) число:") x = float(input()) b = float(x ** 0.5) print("Корень из", x,"равен", float(b)) koren() a = 0 while a == 0: print("Еще раз? Да/Нет") z = input() if z == "Да": koren() elif z == "да": koren() elif z == "Нет": a = a + 1 b = print("Завершение...") elif z == "нет": a = a + 1 b = print("Завершение...")
Офлайн
253
Like_a_DoshiНет конечно! Операция возведения в степень работает с плавающими числами т.е. все вычисления ведутся приближенно и код совершенно верно на это указывает.
Как я понимаю требуется проверка на получившееся число?
"{:g}".format(36**0.5)
Отредактировано doza_and (Июль 21, 2018 08:21:18)
Офлайн
0
doza_andВоу,работает. Благодарю!
def koren(): n = 0 while n == 0: try: x = int(input("Введите целое (+) число:")) except ValueError: print("Введите числовое значение!") continue if x <= 0: print("Введите положительное число!") else: b = "{:g}".format(x**0.5) print("Корень из", x,"равен", format(b)) n = n + 1 koren() a = 0 while a == 0: print("Еще раз? Да/Нет") z = input() if z == "Да" or z == "да": koren() elif z == "Нет" or z == "нет": a = a + 1 b = print("Завершение...")
Офлайн