无法根据Python中的不同语句打印代码

无法根据Python中的不同语句打印代码,python,Python,我尝试过其他和elif语句,但都不起作用。有什么想法吗 import random choice = input(" Witch one did u pick Rock , Paper or Scissors?") print(choice) computer = ["R", "P", "S"] print(random.choice(computer)) if choice == "R" and random.choice(computer) == "R": print("

我尝试过其他和elif语句,但都不起作用。有什么想法吗

import random


choice = input(" Witch one did u pick Rock , Paper or Scissors?")
print(choice)


computer = ["R", "P", "S"]
print(random.choice(computer))


if choice == "R" and random.choice(computer) == "R":
    print("Sorry its a tie")

if choice == "R" and random.choice(computer) == "P":
        print("Sorry Will wins")
您不应该每次都调用random.choicecomputer,这会在对函数的不同调用中产生不同的结果。您应该只调用它一次,然后保存该结果并在if..elif中使用它。您还应该使用if..elif,而不是if..if


让我们从头开始。首先你说:

choice = input("Witch one did u pick Rock, Paper or Scissors?)
print(choice)
由于您正在打印此决定,因此编写以下内容可能有助于用户体验和调试:

print("User Choice: " + choice)
继续:

computer = ["R", "P", "S"]
print(random.choice(computer))
从用户的角度来看,如果要打印出来,您希望与以前的样式匹配,并写入:

computer = ["Rock", "Paper", "Scissors"]
从编程的角度来看,您需要将随机选择的结果保存在一个变量中,以便以后使用,因为再次调用random.choice将创建新的答案。因此,解决这一问题的一个好方法是:

computerDecision = random.choice(computer)
print("Computer Choice: " + computerDecision)
最后你有你的if语句。首先,您要检查:

if choice == "R"
这方面的问题出现在您之前编写的代码中:

choice = input(" Witch one did u pick Rock , Paper or Scissors?")
这意味着输出很可能是石头、布或剪刀,而不是R、p或S,因此您需要:

if choice == "Rock"
使用相同的if语句两次,这样就可以创建嵌套的if并使用前面的变量:

if choice == "Rock":
    if computerDecision == "Rock":
        print("Sorry its a tie")
    elif computerDecision == "Paper":
        print("Sorry Will wins")
    elif computerDecision == "Scissors":
        print("You win")
    else:
        print("Invalid input")
你也需要把它做成布和剪刀。 最后的else语句只涵盖了用户输入石头、纸或剪刀以外的东西的场景

如果random.choicecomputer给你S怎么办?
if choice == "Rock"
if choice == "Rock":
    if computerDecision == "Rock":
        print("Sorry its a tie")
    elif computerDecision == "Paper":
        print("Sorry Will wins")
    elif computerDecision == "Scissors":
        print("You win")
    else:
        print("Invalid input")