我犯了一个巨大的错误:Python编码
嗯。我一直在和我的朋友玩龙与地下城的纸与笔rpg。你必须有一个字符表和一个库存表,但它变得非常混乱,所有的东西都被删除和重写了十几次。所以我决定制作一个python程序来代替我的论文。所以我开始编写非常基本的python代码,比如我犯了一个巨大的错误:Python编码,python,python-2.7,Python,Python 2.7,嗯。我一直在和我的朋友玩龙与地下城的纸与笔rpg。你必须有一个字符表和一个库存表,但它变得非常混乱,所有的东西都被删除和重写了十几次。所以我决定制作一个python程序来代替我的论文。所以我开始编写非常基本的python代码,比如 print "" print "What would you like to know?" option = raw_input("--> ") if option == 'name': name() 然后有大约60个循环的东西你可以去,包括钱 eli
print ""
print "What would you like to know?"
option = raw_input("--> ")
if option == 'name':
name()
然后有大约60个循环的东西你可以去,包括钱
elif option == 'money':
money()
elif option == 'add gold':
addgold()
global gold
gold = 10
def money():
print ""
print "Gold: ",gold,""
def addgold():
print ""
global gold
addg = raw_input("How much gold would you like to add: ")
if addg >= 0:
gold = gold + (int(addg))
print ""
print "Your total gold is now: ",gold,""
我现在意识到,我犯了一个巨大的错误,因为有大约2000行过于复杂的代码,花了我很长时间来编写,我不想把它们都浪费掉。然而,我知道有更好的方法来做到这一点。由于我这样做的方式,我很难实施我提出的其他问题的建议。因此,如果我只想做一个系统,其中gold的值存储在一个单独的文件中(可能使用我前面问题中描述的方法之一),并且我可以使用addgold()更改变量的值,那么应该怎么做呢。我再次为我的问题道歉。在深入研究代码之前,我应该做更多的研究和学习。谢谢。 我不知道什么是“D&D”的所有可能的统计数据,但是其他用户建议你应该考虑使用对象,即类。最基本的实现可以是这样的:
class Items():
def __init__(self,items=[]):
self.items = items
def add(self,item):
self.items.append(item)
def remove(self,item):
self.items.remove(item)
def showItems(self):
print(self.items)
class Wallet():
def __init__(self,gold=0):
self.gold = gold
def add(self,number):
self.gold = self.gold + number
def remove(self,number):
if self.gold-number<0:
print("Sweat runs down your cheek as you notice you are short of", self.gold-number, "coins.")
return False
else:
self.gold = self.gold - number
print("You spend ", number, "coins.")
return True
class Character():
# You'll define you character with name,gender and species
# (it's an example obviously, you can put anything)
def __init__(self,name,gender,species):
# Storing the input arguments inside class
self.name = name
self.gender = gender
self.species = species
self.events = []
self.wallet = Wallet()
self.items = Items()
def buy(self,item,cost):
if self.wallet.remove(cost):
self.items.add(item)
def sell(self,item,cost):
self.items.remove(item)
self.wallet.add(cost)
,这将导致:
Sweat runs down your cheek as you notice you are short of -154 coins.
学习使用物体是实现你想要做的事情的完美方式。另外,对于您的其他问题(将内容保存到文件),如果您选择使用保存类(例如您的角色),那么最好的开始方式是。但一次遇到一个问题。 < P>我不知道什么是“D&D”的所有可能的统计,但是其他用户建议你应该考虑使用对象,即类。最基本的实现可以是这样的:
class Items():
def __init__(self,items=[]):
self.items = items
def add(self,item):
self.items.append(item)
def remove(self,item):
self.items.remove(item)
def showItems(self):
print(self.items)
class Wallet():
def __init__(self,gold=0):
self.gold = gold
def add(self,number):
self.gold = self.gold + number
def remove(self,number):
if self.gold-number<0:
print("Sweat runs down your cheek as you notice you are short of", self.gold-number, "coins.")
return False
else:
self.gold = self.gold - number
print("You spend ", number, "coins.")
return True
class Character():
# You'll define you character with name,gender and species
# (it's an example obviously, you can put anything)
def __init__(self,name,gender,species):
# Storing the input arguments inside class
self.name = name
self.gender = gender
self.species = species
self.events = []
self.wallet = Wallet()
self.items = Items()
def buy(self,item,cost):
if self.wallet.remove(cost):
self.items.add(item)
def sell(self,item,cost):
self.items.remove(item)
self.wallet.add(cost)
,这将导致:
Sweat runs down your cheek as you notice you are short of -154 coins.
学习使用物体是实现你想要做的事情的完美方式。另外,对于您的其他问题(将内容保存到文件),如果您选择使用保存类(例如您的角色),那么最好的开始方式是。但是,一次只解决一个问题。如果您的代码正常工作,StackOverflow就不适合您提出问题。如果您要求对代码进行改进,您可能会发现更有用。您之前的问题是关于包含gold=10的文本文件,以及您希望如何使用
money=gold
?那么,您的问题是什么?对于在文本文件中存储变量,如果您的代码不起作用,请阅读@Elkman123(至少是您发布的内容),考虑发布一个对代码审查起作用的部分。请记住,坏代码/出现故障的代码不属于主题,但另一方面,如果您无法将其缩小到更具体的问题,堆栈溢出也可能无法帮助解决这一问题……如果您的代码正常工作,那么堆栈溢出就不是您提出问题的正确位置。如果您要求对代码进行改进,您可能会发现更有用。您之前的问题是关于包含gold=10的文本文件,以及您希望如何使用money=gold
?那么,您的问题是什么?对于在文本文件中存储变量,如果您的代码不起作用,请阅读@Elkman123(至少是您发布的内容),考虑发布一个对代码审查起作用的部分。请记住,坏代码/出现故障的代码在这里是离题的,但另一方面,如果您不能将其缩小到更具体的问题,堆栈溢出也可能无法帮助解决这一问题。。。