2

我正在编写一个程序来计算两个用户的分数。当他们中的任何一个得分为 10 并且各自的玩家获胜时,游戏结束。

我将while循环写为:

while (score1 != 10) or (score2 != 10):
    ...

我的程序不会终止。

这是代码:

player1 = input("Enter name for Player1")
player2 = input("Enter name for Player2")
score1=0
score2=0


print ("Score for Player1 is: %d,Score for player2 is :%d" %(score1,score2))

while (score1 != 10) or (score2 != 10):
    player =input("enter name for player")

    if player is player1:
        score1=score1+1
    if player is player2:
        score2=score2+1
    print ("Score for Player1 is: %d,Score for player2 is :%d" %(score1,score2))
4

1 回答 1

3

看起来你想要

while (score1 != 10) and (score2 != 10):

因为您希望循环在任何一个分数达到 时立即结束10,因此score != 10false不再满足整个循环条件。

(score1 != 10) or (score2 != 10)将要求两个分数都10在退出之前。

于 2013-07-11T00:56:19.460 回答