CS50 Python: тестовое топливо не прошло проверку50Python

Программы на Python
Ответить
Anonymous
 CS50 Python: тестовое топливо не прошло проверку50

Сообщение Anonymous »

Я не могу заставить check50 дать зеленый свет моему test_fuel.py. Я так долго сидел над этой проблемой, и мне нужна помощь:
  • Fuel.py работает так, как ожидалось, все случаи, которые я пробовал, работают так, как указано
  • Тесты в test_fuel довольно исчерпывающие и - когда выполняются отдельно - успешны
Но всякий раз, когда я пытаюсь проверить 50, я получаю отказ во всех, кроме двух базовые стартовые тесты. Я проверил другие сообщения по этой проблеме, но все, что я изменил, не поможет. Есть ли что-то действительно простое, что я упустил из виду?
fuel.py:
def main():
print("Fuel Gauge")
s = input("Input fraction:")
pvalue = convert(s)
tvalue = gauge(pvalue)
print(tvalue)

def convert(inpvalue: str):
inpvalue = inpvalue.strip()

x, y = inpvalue.split("/")
x = int(x)
y = int(y)

if y == 0:
raise ZeroDivisionError

if (x > y) or (x < 0) or (y < 0):
raise ValueError

s = 100 * (x / y)
t = round(s)

if t < 0:
raise ValueError

return t

def gauge(f: int):
if f = 99:
return("F")
else:
return(f"{f:.0f}%")

if __name__ == "__main__":
main()

test_fuel.py:
import pytest
from fuel import convert
from fuel import gauge

def test_convert():
assert convert("1/100") == 1
assert convert("0/2") == 0
assert convert("1/2") == 50
assert convert("3/4") == 75
assert convert("1/3") == 33
assert convert("1/9") == 11

def test_valueerror():
with pytest.raises(ValueError):
assert convert("AA")
assert convert("2.5/1")
assert convert("a/h")
assert convert("cat")
assert convert("-1/100")
assert convert("3/1")
assert convert("3/-1")

def test_zerodivision():
with pytest.raises(ZeroDivisionError):
assert convert("1/0")
assert convert("0/0")

def test_gauge():
assert gauge(0) == "E"
assert gauge(1) != "1%"
assert gauge(2) == "2%"
assert gauge(50) == "50%"
assert gauge(98) == "98%"
assert gauge(99) != "99%"
assert gauge(100) == "F"

def main():
test_convert()
test_valueerror()
test_zerodivision()
test_gauge()

main()

import pytest
from fuel import convert
from fuel import gauge

def test_convert():
assert convert("1/100") == 1
assert convert("0/2") == 0
assert convert("1/2") == 50
assert convert("3/4") == 75
assert convert("1/3") == 33
assert convert("1/9") == 11

def test_valueerror():
with pytest.raises(ValueError):
assert convert("AA")
assert convert("2.5/1")
assert convert("a/h")
assert convert("cat")
assert convert("-1/100")
assert convert("3/1")
assert convert("3/-1")

def test_zerodivision():
with pytest.raises(ZeroDivisionError):
assert convert("1/0")
assert convert("0/0")

def test_gauge():
assert gauge(0) == "E"
assert gauge(1) != "1%"
assert gauge(2) == "2%"
assert gauge(50) == "50%"
assert gauge(98) == "98%"
assert gauge(99) != "99%"
assert gauge(100) == "F"

def main():
test_convert()
test_valueerror()
test_zerodivision()
test_gauge()

main()

import pytest
from fuel import convert
from fuel import gauge

def test_convert():
assert convert("1/100") == 1
assert convert("0/2") == 0
assert convert("1/2") == 50
assert convert("3/4") == 75
assert convert("1/3") == 33
assert convert("1/9") == 11

def test_valueerror():
with pytest.raises(ValueError):
assert convert("AA")
assert convert("2.5/1")
assert convert("a/h")
assert convert("cat")
assert convert("-1/100")
assert convert("3/1")
assert convert("3/-1")

def test_zerodivision():
with pytest.raises(ZeroDivisionError):
assert convert("1/0")
assert convert("0/0")

def test_gauge():
assert gauge(0) == "E"
assert gauge(1) != "1%"
assert gauge(2) == "2%"
assert gauge(50) == "50%"
assert gauge(98) == "98%"
assert gauge(99) != "99%"
assert gauge(100) == "F"

def main():
test_convert()
test_valueerror()
test_zerodivision()
test_gauge()

main()


Подробнее здесь: https://stackoverflow.com/questions/798 ... ls-check50
Ответить

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

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

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

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

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