Tôi cần viết bốn số if
s bằng Python. Chú ý những gì nó làm, đang thay đổi giữa bốn trạng thái có thể trong một vòng lặp: 1,0 -> 0,1 -> -1,0 -> 0,-1
và quay lại đầu tiên.Có cách nào để viết những ifs đẹp hơn?
if [dx, dy] == [1,0]:
dx, dy = 0, 1
if [dx, dy] == 0, 1:
dx, dy = -1, 0
if [dx, dy] == [-1, 0]
dx, dy = 0, -1
if [dx, dy] == [0, -1]:
dx, dy = 1, 0
Bất kỳ ai cũng có thể gợi ý cho tôi cách viết hay hơn?
Tôi không phải là chuyên gia về python, nhưng nó trông giống như bảng chuyển đổi trạng thái, vì vậy tôi sẽ gắn chúng vào một dict nơi khóa là từ trạng thái và giá trị là trạng thái. –
Ý của bạn là 'elif' trên dòng 3,5,7? Bởi vì khi nó đứng 1.0 sẽ được đưa vào một con ngỗng hoang dã theo đuổi trở lại 1,0 lần nữa! – wim
@wim: Trên thực tế, '1, 0' sẽ trở thành' 0, 1' như mong đợi, vì '[dx, dy] == 0, 1' luôn sai. –