Giải quyết bài toán các slot machines (tiếp tục)
Chương trình của chúng ta trở nên dài hơn bây giờ, vì vậy phác thảo kế hoạch như tôi đã
làm là một kĩ thuật hữu dụng cho việc giữ độ phức tạp dưới sự kiểm soát và hướng dẫn chúng
ta tới code đúng. Chúng ta có thể sử dụng phác thảo để đảm bảo rằng chúng ta đang đi theo
kế hoạch và không quyên bất cứ thứ gì.
Code của chúng ta là:
quarters = int(input())
first = int(input())
second = int(input())
third = int(input())
plays = 0
¶ machine = 0
· while quarters >= 1:
¸ quarters = quarters – 1
¹ if machine == 0:
first = first + 1
º if first == 35:
first = 0
quarters = quarters + 30
elif machine == 1:
second = second + 1
if second == 100:
second = 0
quarters = quarters + 60
elif machine == 2:
third = third + 1
if third == 10:
third = 0
quarters = quarters + 9
» plays = plays + 1
¼ machine = machine + 1
½ if machine == 3:
machine = 0
Biến quarters theo dấu số quarters cái Martha có. Các biến first, second và third theo số chơi
kể từ lần thanh toán cuối cùng cho các slot machines thứ nhất, thứ hai và thứ ba tương ứng.
Biến machine theo dấu slot machine cái Martha sẽ chơi tiếp theo. Slot machine đầu tiên được tham chiếu đến
bởi số 0, cái thứ hai bởi số 1 và cái thứ ba bởi số 2. Làm machine tham chiếu đên 0 vì vậy chỉ ra rằng slot
machine đầu tiên sẽ được chơi tiếp theo.
Chúng ta đã có thể tham chiếu đến các slot machines sử dụng 1,2 và 3 thay vì 0,1 và 2. Hay chúng ta đã có thể
sử dụng các chuỗi kí tự “first”, “second” và “third”. Nhưng các vật đánh số bắt đầu từ 0 là phù hợp hoá, để rằng
là cái tôi đã làm ở đây.
Biến cuối cùng trong chương trình này là plays, cái theo dấu số các slot machines cái Martha đã chơi. Chúng ta sẽ
cho ra cái này một khi Martha hết quarters.