Hô khẩu hiệu xong cái quên luôn :)) thôi cố nhớ vậy
Vậy hôm nay viết về điều gì? Viết về chuyện nhập arguments khi có số âm.
Bài toán
Mình viết 1 file python main.py
với các arguments, trong đó có 1 argument đọc số float là -f. Khi ban đầu viết thì gọi lệnh rất đơn giản, ví dụ mình cần xử lý với float là 1.2
python main.py -f 1.2
Tới lúc mình gửi qua thì gặp vấn đề, khi mà float mình là số âm, ví dụ -1.2, nó sẽ khiến main.py
hiểu lần 1.2 là argument (hmm, really?), và thế là cần 1 cách giải quyết khác
Thực hiện
Lúc dó mình nghĩ ra 2 cách:
- chuyển đổi input về dạng đọc được, rồi xử lý thêm. Ví dụ (1.2) là cách nhập số âm của tài chính, rồi sau đó mình read như read string và thay ngoặc bằng dấu -. Cách này thực hiện được, nhưng hơi không hay lắm và có thể khiến user khó chịu.
- tra google tới khi tìm được cách giải quyết =))
May quá thì tra google cũng ra, cách giải quyết khá đơn giản, là thêm dấu = vào giữa, như thế này:
python main.py -f=-1.2
Kết luận
Nếu vấn đề có vẻ đơn giản và thường gặp thì chịu khó tra Google với các keyword đa dạng tý, nhiều khả năng sẽ tìm 1 cách giải quyết khá gọn gàng đó.
Cheer!