python变量赋值的运算_Python赋值运算符、函数定义和变量定义

博主在尝试构建一个基于文本的纸牌游戏时遇到了代码问题。他们遇到了关于Python中变量赋值和作用域的困惑,尤其是当他们在函数中修改全局变量时。他们希望通过上传函数直接从.txt文件加载牌堆,但担心这样做会改变原始数据。博主还提到了C++中'='操作符的行为,并寻求如何在Python中实现类似功能的方法。在编辑中,博主意识到可能是因为作用域问题导致了代码的意外行为。
摘要由CSDN通过智能技术生成

嗯。。。我花了很长时间让我的部分代码工作,但我重新安排了事情,它突然开始正常工作。我不知道我做了什么老实说,所以我想这将是这个问题的主题。我正在构建一个简单的基于文本的纸牌游戏,它使用从两个.txt文件上传的纸牌。它的目标是魔术:聚会,但如果人们有创意的话,可能会和其他人合作。为了提供一个粗略的概述,以下是如何安排的:import random

def shuffle(board1):

def game():

#board=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]

#performs most of the actions relating to the game

board[0]=20

board[10]=20

def gameboard(board2):

#displays game board

def draw(board3, numcards, player):

#draws cards

def upload(deckname):

#uploads cards from file

def life(board4):

#asks about which player the life total is changing on, by how much, etc.

#and then does it

def maketoken(board5):

#creates tokens, counters, etc. based on user input

def move(board5):

#accepts user input and moves cards from zone to zone

def play(board6):

#handles casting spells, using abilities, triggered abilities, etc.

#main body of program is below function definitions

board=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]

deckname1=input("\nWhat is the name of deck 1?")

deckname2=input("\nWhat is the name of deck 2?")

deck1=upload(deckname1)

deck2=uplaod(deckname2)

board[1]=deck1

board[11]=deck2

#this is where a lot of the other variables get set

game()

(注意:由于我的代码很难看,大部分代码都被删除了,因为简洁美观)

我有一个大学级C++背景,最近决定选择You-OLED键盘来解决问题,所以分配操作员(不)按我预期的方式工作,这让我发疯。因此,我还想知道是否有一种方法可以在Python中获得C++’=’的功能,因为我从.txt文件上传了这个程序,并且想尽快完成上传()功能(我使用DEKK1=上传(DeNKNAME)(同样适用于Dek2)。我想在每次游戏后用'deck1'和'deck2'来填充牌堆,但是如果我理解了'='在python中的工作原理,那么输入board[1]=deck1意味着board[1]将指向deck1的存储区域,对board[1]的更改将更改deck1,但我不希望这样。。。GRRRR!!!!!!11) 一。我肯定有一个解决办法,因为它让我发疯,但我一直没能找到它。谢谢!!!在

编辑:这是我收到的错误,当事情是这样设置的:

^{pr2}$

小结:我是否需要将board传递给game()函数,即使它被设置为全局变量(或者至少我认为是这样的)?当我在game()函数中指定它时,一切似乎都很好(注释掉以显示这一点)。(编辑:永不停息。。。我是个白痴。)

将棋盘的一部分赋值给game()中的一个值是否会使其成为局部变量(例如,当board[0]=20时)?(编辑:是的,很明显……)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值