Почему оператор утверждения, примененный к float (0), выдает ошибку?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему оператор утверждения, примененный к float (0), выдает ошибку?

Сообщение Anonymous »

Я пишу несколько тестов для своего кода на Python, в которых использую библиотеку pytest. Обычно для оценки результата используются операторы Assert. У меня есть код, в котором я определяю, является ли данный ввод числом с плавающей запятой или нет.

Код: Выделить всё

length_scale = input("Enter the value of length_scale variable: ")
sigma = input("Enter the value of sigma variable: ")

def test_float(num1=length_scale, num2=sigma):
assert float(num1)
assert float(num2)
Проблема в том, что когда кто-то вводит num1 или num2 как 0, тест считается неудачным. Однако float(0) равен 0.0 и не должен приводить к неудачному тесту. Я знаю, что это происходит потому, что float(0) равен 0.0, а Assert (0.0) оценивается как Assertion (False), что, в свою очередь, всегда возвращает AssertionError на Python. Могу ли я что-нибудь с этим поделать? Или как лучше всего решить эту проблему?
Чтобы запустить этот код:
  • Убедитесь, что библиотека pytest установлен в вашей виртуальной среде.
  • Сохраните этот код в файле (скажем, model_test.py). .
  • В оболочке/терминале Windows Power сначала измените каталог, в котором находится этот файл, а затем запустите команду pytest -s
  • Укажите значения для num1 и num2, как это было запрошено в Powershell после выполнения указанной выше команды.
Я использую Windows 11 в качестве операционной системы и VScode в качестве интегрированной среды разработки.

Подробнее здесь: https://stackoverflow.com/questions/787 ... s-an-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»