意外缩进并在游戏代码中突破循环

时间:2014-07-06 21:05:40

标签: python return break

我是python的新手,因为你可以用这个问题来判断。我目前正在构建一个Rock,Paper,Scissors游戏,以便稍后包含在我正在使用python 3.4进行的更大程序中。我遇到的问题是在下面列出的代码中。

def computerPlayer(): #randomly selects a rock paper or scissor for computer hand
    c = random.randint(0, 2)
if c==0:
    y=('rock')
if c==1:
    y=('scissors')
if c==2:
    y==('paper')
     return y

在底线返回y我收到一个意外的缩进错误,我已经尝试在过去的一天纠正这个没有结果,如果我向前移动我得到'返回'外面的功能,但是当我把它移回去的时候,我得到了意想不到的缩进,我老实说完全失去了,我不知道该去哪里。任何帮助都非常感谢。

现在修复了上述问题,但我知道在循环错误之外有一个突破。它现在出现在我的代码的末尾。任何帮助都非常感谢你。

    again = raw_input('do you wish to try again? (yes\no)\n :') #Ask the user if they want play again
if again == ('yes') or again == ('sure') or again == ('okay'):
    print ('')
elif again == ('no') or again == ('nah') or again == ('nope') or again == ('screw you') or again == ('screw it'):
    print ('FINE THEN!!! =^( \n               (Enter>>>game()<<< if you change your mind)')
#breaks the loop 
break 

game()

1 个答案:

答案 0 :(得分:4)

试试这个:

def computerPlayer():
    '''
    Randomly selects a rock paper or scissor for computer hand
    '''
    c = random.randint(0, 2)
    if c == 0:
       y = ('rock')
    if c == 1:
       y = ('scissors')
    if c == 2:
       y = ('paper')
    return y

缩进在python中非常重要,它显示了方法和控制流的开始和结束位置。在您之前的代码中,if语句没有在方法下缩进,因此python无法判断它是computerPlayer()函数的一部分。

根据PEP8(python的样式指南),适当的缩进是4个空格。有关PEP8及其缩进视图的更多信息,请点击此处:

http://legacy.python.org/dev/peps/pep-0008/#indentation