Использование нескольких входов для поплавков?

Написание приложения, которое должно построить ограничивающую рамку. Коробка строится путем получения юго-западного угла и северо-восточного угла желаемой коробки. Приложение ожидает этот код в формате xx.xxx,xx.xxx.

Начал, например, с этого:

southwest_corner = float(raw_input("Enter the SW corner values: "))

Но он не принимает тот факт, что у него есть запятая и второе значение. (помните xx.xxx,xx.xxx) Я также пробовал использовать его как строку вместо числа с плавающей запятой, но все равно не работает.

Как разрешить пользователю вводить формат, который я хочу, и правильно его воспринимать?


person OutlawBandit    schedule 19.12.2017    source источник
comment
Вы пробовали split с , перед приведением его к типу float?   -  person Krishnachandra Sharma    schedule 19.12.2017


Ответы (1)


Я исправил эту проблему, вызвав map и добавив .split в конец строк ввода:

southwest_corner = map(float, raw_input("Define the SW corner of your box: ").split(','))

Это позволило мне правильно ввести ожидаемый формат xx.xxxx,xx.xxxx.

map применил функцию (в данном случае float) к набору элементов. Я сделал это строкой, разделив ввод запятой, вызвав .split(','). Таким образом, ввод был разделен на строку, а затем map сопоставил этот ввод с float.

Этот поток был полезен: Python 2.7 - недопустимые литеральные ошибки

person OutlawBandit    schedule 19.12.2017