1
我新编程,并试图建立一个简单的岩石剪刀程序在python 2.7。在我的功能我有2个主要的if语句python岩石纸剪刀
rules = raw_input("Before we being playing would you like to hear the rules first? ")
if rules.lower() == "yes":
print """
Scissors cuts Paper
Paper covers Rock
Rock crushes Scissors"""
和第二
choice = raw_input("please enter your choice? (Must be either rock, paper or scissors) ")
computer = random.choice(["rock", "paper", "scissors"])
if choice == "rock" or "paper" or "scissors":
if choice == computer :
print "Its a tie !"
elif choice == "rock" and computer == "scissors":
print "Rock beats scissors you win!."
elif choice == "rock" and computer == "paper":
print "Paper beats rock you loose !."
elif choice == "paper" and computer == "scissors":
print "Scissors beats paper you loose !."
elif choice == "paper" and computer == "rock":
print "Paper beats rock you win !."
elif choice == "scissors" and computer == "paper":
print "Scissors beats paper you win !."
elif choice == "scissors" and computer == "rock":
print "Rock beats scissors you loose !."
else :
print "Invalid Entry Please try again."
独立,因为他们应该,但是当我试图把它们放在一起在一个函数代码工作的两个位的第一if语句询问有关规则的工作原理,然后在具有程序主要功能的第二条if语句之前退出。我曾尝试缩进第一个if语句中的第二位代码,但它似乎并没有工作
我想知道是否有任何使这2代码的代码在一个简单的函数工作?还是应该用这两个函数创建一个类? 如果任何人有任何提示如何使我的程序更好,请让我知道。感谢您提前提供任何帮助。
继承人的完整代码
import random
def rock_paper_scissors_spock():
rules = raw_input("Before we being playing would you like to hear the rules first? ")
if rules.lower() == "yes":
print """
Scissors cuts Paper
Paper covers Rock
Rock crushes Scissors"""
choice = raw_input("please enter your choice? (Must be either rock, paper or scissors) ")
computer = random.choice(["rock", "paper", "scissors"])
if choice == "rock" or "paper" or "scissors":
if choice == computer :
print "Its a tie !":
elif choice == "rock" and computer == "scissors":
print "Rock beats scissors you win!."
elif choice == "rock" and computer == "paper":
print "Paper beats rock you loose !."
elif choice == "paper" and computer == "scissors":
print "Scissors beats paper you loose !."
elif choice == "paper" and computer == "rock":
print "Paper beats rock you win !."
elif choice == "scissors" and computer == "paper":
print "Scissors beats paper you win !."
elif choice == "scissors" and computer == "rock":
print "Rock beats scissors you loose !."
else :
print "Invalid Entry PLease try again."
rock_paper_scissors_spock()
在打印语句后有一个冒号(:),是否是拼写错误? 'print'它是一个领带!“:' – Selcuk
当我摆脱由Selcuk提到的SyntaxError时,你的代码在Python 2.6.6上运行的很好。然而,它确实有一些逻辑错误:'如果选择==“摇滚”或“纸”或“剪刀”:'不会做你认为它的作用。 –
请参阅[为什么'a == b或c或d'总是评估为True?](http://stackoverflow.com/questions/20002503/why-does-ab-or-c-or-d-always-评估为真)(以及链接的问题)以获得解释,以及显示如何修复if语句的示例。 –