Попытка исправить функцию - PullRequest
0 голосов
/ 22 февраля 2020

Я очень новичок в кодировании python (или что-нибудь). Я должен создать функцию, которая будет возвращать скорость транспортного средства в зависимости от того, как далеко оно занесло при торможении. я получаю объект 'float', не вызываемый ошибкой, когда я пытаюсь запустить мои doctests. Я попытался изменить имя переменных несколькими способами и не могу понять, что это правильно. вероятно, упускаю что-то простое.

import math

def car_speed(distance_of_skid):
    '''
Calculate the speed in MPH of a car that skidded
d feet on dry concrete when the brakes were applied

args:
    distance_of_skid (float): the distance of the skid in feet

returns:
    an estimate of the speed the car was going when the brakes were applied (float)

formula:
    speed in MPH equals the square root of (24 * d)

examples/doctest:

the car didn't skid at all
>>> round(car_speed(0), 2)
0.0

the car skid 1 foot
>>> round(car_speed(1), 2)
4.9

the car skid 10 feet
>>> round(car_speed(10), 2)
15.49

the car skid 33.33 feet
>>> round(car_speed(33.33), 2)
28.28

the car skid 12345 feet
>>> round(car_speed(12345), 2)
544.32

'''
    d = distance_of_skid
    car_speed = math.sqrt (24 * d)

    return (round(car_speed(d), 2))

чувствую, что я делаю это более сложным, чем это (профессор упоминал об этом ранее). вывод функции должен быть скоростью в милях в час, округленной до 2 десятичных знаков.

1 Ответ

0 голосов
/ 22 февраля 2020

благодаря saffronsnail я смог понять это. Я использовал имя функции в качестве константы, и это вызвало проблему. изменение имени константы на что-то другое исправило его. изменено значение car_speed на скорость в обратной линии.

> '''
>     to run tests on mac: python3 -m doctest car_speed.py -v
>     to run tests on Win: python -m doctest car_speed.py -v ''' import math
> 
> def car_speed(distance_of_skid):
>     '''
>     Calculate the speed in MPH of a car that skidded
>     d feet on dry concrete when the brakes were applied
> 
>     args:
>         distance_of_skid (float): the distance of the skid in feet
> 
>     returns:
>         an estimate of the speed the car was going when the brakes were applied (float)
> 
>     formula:
>         speed in MPH equals the square root of (24 * d)
> 
>     examples/doctest:
> 
>     the car didn't skid at all
>     >>> round(car_speed(0), 2)
>     0.0
> 
>     the car skid 1 foot
>     >>> round(car_speed(1), 2)
>     4.9
> 
>     the car skid 10 feet
>     >>> round(car_speed(10), 2)
>     15.49
> 
>     the car skid 33.33 feet
>     >>> round(car_speed(33.33), 2)
>     28.28
> 
>     the car skid 12345 feet
>     >>> round(car_speed(12345), 2)
>     544.32
> 
>     '''
>     # TO DO: Add your code here
>     d = distance_of_skid
>     speed = math.sqrt (24 * d)
> 
>     return (round(speed, 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...