【问题标题】:Could functions change the content of a variable? [duplicate]函数可以改变变量的内容吗? [复制]
【发布时间】:2018-12-20 12:08:25
【问题描述】:

我希望我的变量 play 在轮到改变时改变,所以我做了一个函数。如果转为偶数,则变数为 O="O",奇数反之亦然 然后我使用了turn = 1的函数even(turn),它显示O,即使它应该是X。我下面的代码在某种程度上是错误的还是它不能那样工作?

我正在 repl.it 上制作井字游戏程序,我尝试使用手动更改,如制作 9 个不同的副本来更改转弯,但工作量太大,我想制作一个更简单的代码。

play=0
X="X"
O="O"

turn=1


def even(turn):
  if turn%2==0:
    play=O

  else:
    play=X



even(turn)
print(play)

根据数字是偶数还是奇数,我希望输出为 O 或 X。

【问题讨论】:

  • 您有 两个 变量名为 play,一个全局变量和一个局部变量(仅在偶数内部)。阅读global(但请注意,通常最好避免使用全局状态)。
  • 请注意,这里最好不要使用全局变量:def even(turn): return X if turn % 2 else 0; play = even(turn);

标签: python python-3.x function variables


【解决方案1】:
play=0
X="X"
O="O"

turn=4


def even(turn):
  global play
  if turn%2==0:
     play=O

  else:
     play=X



even(turn)
print(play)

这是正确的方法...在你的函数中使用 global 关键字定义变量

【讨论】:

  • 对不起兄弟我已经编辑了我的错误
猜你喜欢
  • 2020-01-10
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-17
相关资源
最近更新 更多