调用另一个函数中的一个函数会由于括号中的参数而导致错误

乔伊

碰巧的是,我刚刚开始使用Python编程,而我正要编写一个小剪刀石头布的游戏。

不幸的是,当我尝试运行脚本时,出现以下错误:

file rps.py, line 53 in game    
   compare (move,choice)     
  NameError: name 'move' is not defined"

到目前为止,这是我的代码:

from random import randint
possibilities = ['rock', 'paper', 'scissors']

def CPU(list):
    i =  randint(0, len(list)-1)
    move = list[i]
    #print (str(move))
    return move

def User():
    choice = str(input('Your choice? (Rock [r], Paper[p], Scissors[s])'))
    choice = choice.lower()

    if choice == 'rock' or choice == 'r':
        choice = 'rock'
    elif choice == 'scissors' or choice =='s':
        choice = 'scissors'
    elif choice == 'paper' or choice == 'p':
        choice = 'paper'

    #print ('Your choice: ' + str(choice))
    return choice


def compare(c, u):
    if c == u:
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('That is what we call a tie. Nobody wins.')
    elif c == 'paper' and u == 'rock':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('This means that you, my friend, lose.')
    elif c == 'paper' and u == 'scissors':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('Congratulations, you win....this time.')
    elif cc == 'rock' and u == 'paper':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('Congratulations, you win....this time.')
    elif c == 'rock' and u == 'scissors':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('This means that you lose.')
    elif c == 'scissors' and u == 'paper':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('This means that you lose.')
    elif c == 'scissors' and u == 'rock':
         print ('Your choice was: ' + str(u) + 'and I chose: ' + str(c))
         print ('Congratulations, you win....this time.')

def game():
    CPU(possibilities)
    User()
    compare(move, choice)

game()

我很确定在定义函数compare(c,u)并在括号中添加参数“ c”和“ u”时,我做错了什么我以为自己可以通过使用return语句来确保可以使用这些变量。

我一般对编程还是比较陌生的,因此没有经验,所以请客气!

巴尔加夫饶

问题在于您仅在调用函数CPUUser而没有将它们分配给任何变量。因此,你需要重新定义你的函数game,如

def game():
    move = CPU(possibilities)
    choice = User()
    compare(move, choice)

这样,您将在调用其他两个函数之后使用edcompare值的本地副本来return调用该函数。

您可以return通过参考官方文档来了解有关函数和声明的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比在另一个函数的参数中调用一个函数更昂贵?

来自分类Dev

比在另一个函数的参数中调用一个函数更昂贵?

来自分类Dev

在另一个函数中调用一个函数的参数

来自分类Dev

由于在另一个数据库中调用用户定义的函数而导致性能损失

来自分类Dev

在另一个函数中调用JS函数

来自分类Dev

在另一个函数中调用匿名函数

来自分类Dev

在另一个函数中调用被“隐藏”的函数

来自分类Dev

从另一个函数中调用类函数

来自分类Dev

如何从具有参数的另一个函数中调用带有参数的函数?

来自分类Dev

如何在Kotlin中的另一个函数中调用带有参数的函数

来自分类Dev

Python从另一个函数调用一个函数中的函数

来自分类Dev

在PL / PGSQL中的另一个函数中调用一个函数

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

在Swift中是否可以将一个函数作为另一个函数的参数来调用?

来自分类Dev

覆盖另一个函数调用的函数中的默认参数

来自分类Dev

在类中以另一个函数作为参数调用函数

来自分类Dev

另一个使用引用和参数的函数中的C ++调用函数

来自分类Dev

如何调用在另一个函数中作为参数传递的函数

来自分类Dev

使用相同参数在另一个函数中调用函数

来自分类Dev

从另一个活动中调用函数

来自分类Dev

从Go中的另一个包调用函数

来自分类Dev

从BrightScript中的另一个文件调用函数

来自分类Dev

在另一个bash脚本中调用函数

来自分类Dev

从Kivy中的另一个类调用函数

来自分类Dev

从BrightScript中的另一个文件调用函数

来自分类Dev

在另一个Lisp文件中调用函数

来自分类Dev

在Swift中从另一个类调用函数

来自分类Dev

从python中的另一个函数调用变量

来自分类Dev

在另一个函数中调用列表 - Python

Related 相关文章

  1. 1

    比在另一个函数的参数中调用一个函数更昂贵?

  2. 2

    比在另一个函数的参数中调用一个函数更昂贵?

  3. 3

    在另一个函数中调用一个函数的参数

  4. 4

    由于在另一个数据库中调用用户定义的函数而导致性能损失

  5. 5

    在另一个函数中调用JS函数

  6. 6

    在另一个函数中调用匿名函数

  7. 7

    在另一个函数中调用被“隐藏”的函数

  8. 8

    从另一个函数中调用类函数

  9. 9

    如何从具有参数的另一个函数中调用带有参数的函数?

  10. 10

    如何在Kotlin中的另一个函数中调用带有参数的函数

  11. 11

    Python从另一个函数调用一个函数中的函数

  12. 12

    在PL / PGSQL中的另一个函数中调用一个函数

  13. 13

    如何在JavaScript中的另一个函数中调用一个函数

  14. 14

    在Swift中是否可以将一个函数作为另一个函数的参数来调用?

  15. 15

    覆盖另一个函数调用的函数中的默认参数

  16. 16

    在类中以另一个函数作为参数调用函数

  17. 17

    另一个使用引用和参数的函数中的C ++调用函数

  18. 18

    如何调用在另一个函数中作为参数传递的函数

  19. 19

    使用相同参数在另一个函数中调用函数

  20. 20

    从另一个活动中调用函数

  21. 21

    从Go中的另一个包调用函数

  22. 22

    从BrightScript中的另一个文件调用函数

  23. 23

    在另一个bash脚本中调用函数

  24. 24

    从Kivy中的另一个类调用函数

  25. 25

    从BrightScript中的另一个文件调用函数

  26. 26

    在另一个Lisp文件中调用函数

  27. 27

    在Swift中从另一个类调用函数

  28. 28

    从python中的另一个函数调用变量

  29. 29

    在另一个函数中调用列表 - Python

热门标签

归档