PYTHON-Won';是否打印到.java文档?
我对python有一个问题。 这是我的密码 每当我选择项目或鹤嘴锄,它打印的很好。下面的任何内容都无法打印。。请帮忙PYTHON-Won';是否打印到.java文档?,java,python,file,printing,Java,Python,File,Printing,我对python有一个问题。 这是我的密码 每当我选择项目或鹤嘴锄,它打印的很好。下面的任何内容都无法打印。。请帮忙 注意:我还使用了pastebin,因为我发现它最容易阅读。您的实际错误是第62行,如果ItemType==3&ItemStr==1:-它应该以elif开头,否则它会打断您的(非常讨厌的)级联 另一个潜在问题:在所有比较中,即如果ItemType==1&ItemStr==1:,则当您应该使用逻辑and(和)时,您正在使用位and(&) 这是一个重写的版本。它不到长度的一半,由数据
注意:我还使用了pastebin,因为我发现它最容易阅读。您的实际错误是第62行,
如果ItemType==3&ItemStr==1:
-它应该以elif
开头,否则它会打断您的(非常讨厌的)级联
另一个潜在问题:在所有比较中,即如果ItemType==1&ItemStr==1:
,则当您应该使用逻辑and(和
)时,您正在使用位and(&
)
这是一个重写的版本。它不到长度的一半,由数据驱动,并且更容易发现不一致之处(您是指材质类型中的“钻石”还是“翡翠”):
你能给出一个最小的、可编译的例子吗?预期的产出究竟是多少?你得到了什么?你尝试过什么?最好提供反对票的理由,让OP知道原因。我强烈建议你学习如何使用Python。他们会让你的生活轻松很多。
class Item(object):
types = [
('Item', 'Item'),
('Pickaxe', 'ItemPickaxe'),
('Shovel', 'ItemSpade'),
('Axe', 'ItemAxe'),
('Hoe', 'ItemHoe'),
('Sword', 'ItemSword')
]
strengths = [
('Diamond', 'EnumToolMaterial.EMERALD'), # ?? You might want to doublecheck this...
('Gold', 'EnumToolMaterial.GOLD'),
('Iron', 'EnumToolMaterial.IRON'),
('Stone', 'EnumToolMaterial.STONE'),
('Wood', 'EnumToolMaterial.WOOD'),
]
javastring = 'public static final {type} {name} = new {type}({id}, {strength}).setItemName("{name}");'
@classmethod
def prompt_for_item(cls):
s = "Please enter your item's name:\n"
name = raw_input(s).strip()
types = ["[{}] {}".format(i,n[0]) for i,n in enumerate(cls.types, 1)]
s = "Please enter item type:\n{}\n".format('\n'.join(types))
type_ = int(raw_input(s)) - 1
s = "Please enter item id (unique int):\n"
id = int(raw_input(s))
strengths = ["[{}] {}".format(i,n[0]) for i,n in enumerate(cls.strengths, 1)]
s = "Please enter item strength:\n{}\n".format('\n'.join(strengths))
strength = int(raw_input(s)) - 1
return cls(name, type_, id, strength)
def __init__(self, name, type_, id, strength):
self.name = name
self.type = type_
self.id = id
self.strength = strength
def write_to_file(self, fname=None):
if fname is None:
fname = '{}.java'.format(self.name)
with open(fname, 'w') as outf:
cls = type(self)
outf.write(
cls.javastring.format(
type = cls.types[self.type][1],
name = self.name,
id = self.id,
strength = cls.strengths[self.strength][1]
)
)
def main():
it = Item.prompt_for_item()
it.write_to_file()
print 'File has been written'
if __name__=="__main__":
main()