如何在函数内使用原始输入

时间:2016-09-07 02:22:45

标签: python

我已经在论坛上搜寻了一个很好的方法来创建一个获取原始输入并使用它的函数。

print "Roll for Agility"

def Rolling(a, b, value):

    in1 = raw_input()

    if in1 == 'roll':

        irand = randrange(a, b)

    elif in1 == 'Roll':

        irand = randrange(a, b)

    else: 

        print "Please Type <roll> in order to roll the dice."

        Rolling ()

    print "Your %d is %d" % (value, irand)

Rolling(1, 10, Agility)

应该采用滚动范围的数字,并将滚动中的数字插入一个值(在这种情况下为敏捷)。

代码不起作用,因为原始输入和“滚动功能”中的参数存在问题。我希望该功能不仅可以采用原始输入,还可以处理它。我不想在函数之前创建原始输入,然后通过将原始输入放入字符串或int中手动将其添加到函数中。

提前致谢!

1 个答案:

答案 0 :(得分:2)

代码有一些拼写错误。生成错误消息NameError: name 'value' is not defined,因为该语句被错误地放在Rolling函数体之外,其中value未定义。

更正的代码应如下所示:

#Rolling for Agility
from random import randrange
print "Roll for Agility"
def Rolling(a, b, value):
    in1 = raw_input()
    if in1 == 'roll' or in1 == 'Roll':
        irand = randrange(a, b)
        print "Your %s is %d" % (value, irand) 
    else: 
        print "Please Type <roll> in order to roll the dice."
        Rolling(a,b,value) # using recursion to call again incase of erroneous input 


Rolling(1, 10, "Agility")