Укажите тип ввода в функции - PullRequest
1 голос
/ 25 сентября 2019

Мне было интересно, можно ли было указать тип ввода в функции или мне пришлось использовать что-то еще.

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

int(input())

Если это не целое число, я отправляю сообщение об ошибке и снова запрашиваю ввод.

def example(type) :
    while True :
        try :
            var = type(input())
        except :
            print("error")
        else :
            break
    return var

example(int)

Я не знаю, возможно ли это.В конце концов, я хочу сделать это для поплавков и струн.Я обошел проблему с if / else.У вас есть другие решения?Я хочу максимально сократить свой код.

1 Ответ

0 голосов
/ 25 сентября 2019

input возвращает str каждый раз.И тип - это уже имя функции в Python (которая возвращает тип параметра).

Таким образом, вам придется преобразовать (привести) строку в тип int или float, если вам нужно, и окружить еепопробуй / кроме как боюсь.

...