有 2 名玩家的游戏。在这个游戏中,每个玩家轮流从三个袋子之一中取出 1 到 5 个物品:A、B、C。取出最后一个物品的玩家获胜。以下是规则:
• 每个袋子在游戏开始时包含 10 个物品。
• 玩家可以一次从一个袋子中取出物品。
• 玩家不能选择移除 0 个对象。对象的数量必须在 1 到 5(包括)之间。
• 当所有袋子都空了时,游戏结束。
•当前玩家必须首先选择袋子(A 或 B 或 C),然后选择必须从该袋子中取出的对象的数量。
• 您还必须检查用户的输入是否有效。它是有效的包(A 或 B 或 C)吗?它是一个有效的数字(1 到 5 之间)吗?还有,包里的东西够吗?如果其中任何一个条件不满足,请再次要求用户输入。(您需要使用循环来执行此操作)
示例:
ABC
10 10 10 Player1 从 B 获取 5 个对象。
10 5 10 Player2 从 C 获取 5 个对象。
10 5 5 Player1 从 A 获取 3 个对象。
7 5 5 Player2从 A 获取 3 个对象来自 B 的对象。
7 2 5 Player1 从 C 获取 5 个对象。
7 2 0 Player2 从 A 获取 2 个对象。
5 2 0 Player1 从 A 拿 1 个对象。
4 2 0 Player2 从 A 拿 3 个对象。
1 2 0 Player1 从 B 拿 1 个对象。
1 1 0 Player2 从 B 拿 1 个对象。
1 0 0 Player1 从 A 拿 1 个对象。
*注意: *我必须只使用循环或 if 条件没有列表或其他
我已经做到了这一点:
A=5
B=5
C=5
total_objects=15
Player1=0
Player2=0
while total_objects>0:
selected_bag=input("Choose the bag:")
if selected_bag == A or B or C:
print("Valid bag")
else:
selected_bag=input("Not a valid bag choose again:")
removed=int(input("How many objects do you want to remove?"))
if removed>5 or removed<1:
int(input("You must enter between 1 and 5:"))
elif removed == 1 or 2 or 3 or 4 or 5:
if selected_bag == A:
A-=removed
if selected_bag == B:
B-=removed
if selected_bag == C:
C-=removed
if A>0:
print("There are",A,"objects left")
elif B>0:
print("There are",B,"objects left")
elif C>0:
print("There are",C,"objects left")
print("You win!")