import re
user_miles = input()
def miles_to_laps(user_miles):
miles = float(user_miles) * 4
print('%0.2f'% miles)
return
miles_to_laps(user_miles)
def parse_function_text(s):
try:
return re.search("miles_to_laps\((.+)\)", s)[1]
except TypeError:
return None
def accept_input(user_input):
desugar = parse_function_text(user_input)
if desugar is not None:
user_input = desugar
try:
return float(user_input)
except ValueError:
raise ValueError("Cannot process input %s" % user_input)
assert accept_input("miles_to_laps(3.5)") == 3.5
Делая это, чтобы показать новый код, который используется для создания программы, допускающей ввод "miles_to_laps (20)", мой код ошибки для этого сейчас
Traceback (most recent call last):
File "main.py", line 9, in <module>
miles_to_laps(user_miles)
File "main.py", line 6, in miles_to_laps
miles = float(user_miles) * 4
ValueError: could not convert string to float: 'miles_to_laps(20)'