100 days I learn - day 2 - minus arguments in python


Posted on 02 Mar 2019 by Tulip Tulip

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

1
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:

1
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!