【发布时间】:2015-08-21 19:12:26
【问题描述】:
我对 Python 编程非常陌生,我只是有一个问题,为什么当我调用一个函数时它不起作用。我看到TypeError 关于die_roll 需要两个参数,但为什么添加到括号中时self.result 没有涵盖?
import random
def die_roll(self, result):
self.result = random.randint(1, 10)
print "Roll the dice, Dennis. "
print "You have rolled a %s!" % self.result
print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print (" Welcome... ")
print (" TO THE WORST GAME IN THE WORLD!!!!!!!!!!! ")
print (" REALLY, IT IS QUITE BAD. YOU'LL SEE...... ")
print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
name = raw_input('Welcome to this awful adventure. Please enter your name to get started: \n')
print "\n%s? I don't like that name. \n" % (name)
name1 = raw_input('Try again: \n')
print "\n%s?! Really? That's the best you can do? You know what - just forget it. You will be called Dennis. \n" % (name1)
print "I happen to like Dennis. It's a good name. Regal. It's nice to meet you.... Dennis. \n"
print "You begin your adventure peering into a long, gloomy cave. You move by rolling a 10-sided dice.\n"
print "You will encounter random enemies along the way. If your combined rolls equal 100, you win!\n"
die_roll()
【问题讨论】:
-
抱歉,格式有问题 - 这不是 PyCharm 中的样子,保证!
-
您使用的是什么版本的 Python?我运行了代码,我必须修复很多(我仍然是)。
-
die_roll需要两个参数,第一个被命名为self。这强烈表明die_roll应该是一种方法,但它是一个独立的函数。顺便说一句,您没有将任何参数传递给对die_roll的调用,也不会从中返回任何内容。 -
你了解函数和方法的区别吗?
-
@ Jimmy360 - 我用 PyCharm 写了这个,它是为 2.7 设计的
标签: python function methods self