如何比较一个变量(x)是否比另一个变量(y)大某个值。例如,如果 x > y 2,则 print("万岁!")

问题描述 投票:0回答:1

所以我正在尝试制作一个石头、剪刀、布游戏,并且我正在尝试制作这样的游戏:如果用户(或计算机)获得 3 分,或者用户(或计算机)的分数大 2(例如3 局中最好的 2 局)则用户(或计算机)获胜。但我似乎无法让它发挥作用。我刚刚开始学习 Python 和一般编程,所以我希望得到尽可能简单的解释。

这是我尝试过的代码:

def rpc_game_normal ():
    rpc = ['r', 'p', 's']
    computer_wins = 0
    wins = 0
    


    while True: 
        print(f"Me: {computer_wins}  | You: {wins} ")
        user = input('Your move human: ').lower()
        computer = random.choice(rpc)

        if user == computer:
            wins += 0
            computer_wins += 0
        elif pattern(user, computer):
            computer_wins += 1
        else:
            wins += 1
        
        score(wins, computer_wins)
        print(f"I chose {computer} and you chose {user}.")
        
        
def pattern(user, computer):
    if (user == 'r' and computer == 's') or (user == 'p' and computer == 'r') or \
        (user == 's' and computer == 'p'):
        return True
def score(user, computer):
    if computer + 2 > user:
        return True
    elif user + 2 > computer:
        return True
    elif user == 3:
        print("You win!")
        return True
    else: 
        print("I win!")
        return True

我:0 |你:0 你的举动人类:r 我选择了s,你选择了r。 我:1 |你:0 你的举动人类:s 我选择了 s,你选择了 s。

这就是我得到的结果。即使满足标准,我也会一遍又一遍地重复同样的循环。

python function conditional-statements comparison-operators
1个回答
0
投票

您可以简单地使用


player = 3
computer = 1
if computer - player = 2:
     print("computer wins")
elif player - computer = 2:
     print("player wins")

只要计算出差异是否为 2 就可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.