Код CS50 numb3rs возвращает ошибки с помощью pytest в check50, но я не могу точно определить, что [дубликат]Python

Программы на Python
Ответить
Anonymous
 Код CS50 numb3rs возвращает ошибки с помощью pytest в check50, но я не могу точно определить, что [дубликат]

Сообщение Anonymous »

Я запускаю check50 для приведенного ниже кода, однако получаю ошибку «правильный numb3rs.py проходит все проверки test_numb3rs.py» с причиной «ожидаемый код завершения 0, а не 1».Судя по поиску, я думаю, это потому, что pytest cs50 обнаруживает что-то, что я пропустил, но проблема в том, что он не говорит мне, что именно.
Я использую регулярное выражение для этой задачи и да, возможно, я мог бы сделать это более эффективно, но я все еще только учусь. Также я не уверен, проблема ли это в моем регулярном выражении или в коде test_numb3rs.
Пожалуйста, посмотрите код для numb3rs.py и test_numb3rs.py. Любая помощь приветствуется.
numb3rs.py:
import re

def main():
print(validate(input("IPv4 Address: ")))

def validate(ip):
valid = re.search(r"^([0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.([0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.([0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.([0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])$", ip.strip())
if valid:
return "True"
else:
return "False"

if __name__ == "__main__":
main()

test_numb3rs.py:
from numb3rs import validate

def test_negative():
assert validate("-1.-1.-1.-1") == "False"

def test_zeros():
assert validate("0.0.0.0") == "True"

def test_single_digits():
assert validate("1.1.1.1") == "True"
assert validate("9.9.9.9") == "True"
assert validate("1.2.3.4") == "True"
assert validate("0.1.2.9") == "True"

def test_double_digits():
assert validate("10.10.10.10") == "True"
assert validate("99.99.99.99") == "True"
assert validate("10.99.50.75") == "True"

def test_triple_digits():
assert validate("100.100.100.100") == "True"
assert validate("255.255.255.255") == "True"
assert validate("100.200.254.255") == "True"

def test_combos():
assert validate("0.1.10.100") == "True"
assert validate("10.10.99.255") == "True"
assert validate("255.99.10.0") == "True"

def test_outOfRange():
assert validate("255.255.255.256") == "False"

def test_NaN():
assert validate("cat") == "False"

def test_extra_dot():
assert validate("10.10.10..10") == "False"

def test_not_a_dot():
assert validate("1.2.3,4") == "False"

def test_tooFewNums():
assert validate("100.100.100") == "False"

def test_tooManyNums():
assert validate("100.100.100.100.100") == "False"

def test_whitespace():
assert validate(" 10.10.10.10 ") == "True"

def test_validButWithInvalidLandR():
assert validate("cat100.100.100.100") == "False"
assert validate("100.100.100.100cat") == "False"



Подробнее здесь: https://stackoverflow.com/questions/791 ... pinpoint-w
Ответить

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

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

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

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

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