Python 我试图制作一个简单的随机生成器,但我想在其中一个输出上使用if命令

Python 我试图制作一个简单的随机生成器,但我想在其中一个输出上使用if命令,python,python-2.7,Python,Python 2.7,我只是想为我正在写的RPG制作一个随机怪物生成器。我正在使用Python 2.7。这很难解释,但我会尽力的 因此,我试图使它成为这样,如果“random.choice(numbers)”出现“has 1”变量,它将使用“random.choice(attachmentssingle)”而不是普通的“random.choice(attachments)” 这是因为我不希望它打印出“有一条腿”或“有一个头”。相反,它会打印出“有一条腿”或“有一个头” 有没有办法做到这一点而不会变得太复杂?(我对Py

我只是想为我正在写的RPG制作一个随机怪物生成器。我正在使用Python 2.7。这很难解释,但我会尽力的

因此,我试图使它成为这样,如果“random.choice(numbers)”出现“has 1”变量,它将使用“random.choice(attachmentssingle)”而不是普通的“random.choice(attachments)”

这是因为我不希望它打印出“有一条腿”或“有一个头”。相反,它会打印出“有一条腿”或“有一个头”

有没有办法做到这一点而不会变得太复杂?(我对Python非常陌生,正在生病时尝试学习Python。)


编辑:我的代码需要一个缩进块,底部附近有“print random.choice(attachmentssingle)”字样。但是,如果“random.choice(numbers)”的结果是“has 1”,那么代码就可以正常工作,只是我试图用“random.choice(attachmentssingle)”替换“random.choice(attachments)”

编辑2:我尝试了@user202729的建议,这就是我想到的:

print random.choice(attachments) if random.choice(numbers) = "has 1" else print random.choice(attachmentssingle)
然而,它似乎不起作用,因为它的语法错误,我尝试了几种不同的方式键入出来,但它似乎不起作用


编辑3:@Patrick Artner一针见血,非常感谢你,伙计!我真的很感谢你们帮我解决这个问题

您可以使用一个怪物类来记住所有怪物参数,以便以后使用。您至少需要记住某个地方的附件数量,以便决定使用哪种附件

(非常基本)

输出(重新格式化):

优点:如果它们也受到HP或攻击,您也可以将它们“脚本化”到类实例中,并根据这些记忆值进行计算:

print "You chop up one ",  M3.attachments, " of ", M3.attitude, M3.nouns
输出:

You chop up one  arm  of  An excited dog

可以像这样使用三元运算符:

word = random.choice("and it has")
number = random.choice("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
attachment = random.choice("arm", "leg", "tentacle", "head", "mouth")
attachment = attachment + ('' if number == "1" else 's')

你的代码目前有什么问题?太长了?在这种情况下,只需修剪最后一个字符就足够了。我的代码需要一个缩进块,底部附近有“print random.choice(attachmentssingle)”。但是,如果“random.choice(numbers)”的结果是“has 1”,那么代码就可以正常工作,只是我试图用“random.choice(attachmentssingle)”替换“random.choice(attachments)”如果
“不可见”,你怎么知道所有这些事情呢?
?这很好,但它一直说第22行有语法错误。@meanman211修复了它-它缺少一个“``在将其重新格式化为80后使该行继续。真棒的人,现在它是完美的,我真的很感谢你帮我解决这个问题。在这里学习你的代码,我学到了很多@你最好看看
print "You chop up one ",  M3.attachments, " of ", M3.attitude, M3.nouns
You chop up one  arm  of  An excited dog
word = random.choice("and it has")
number = random.choice("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
attachment = random.choice("arm", "leg", "tentacle", "head", "mouth")
attachment = attachment + ('' if number == "1" else 's')