2015-10-14 180 views
1

我正在定义一个函数,我可以调用该函数来存储用户的输入作为变量, 确保它是一个数字,然后在代码中稍后将该数字转换为公式的整数。Python <function functionName at 0x00000000>

这样的想法是,当程序到达它会提示用户输入的getAnswer,这将启动功能,检查用户给出了答案,并将其转换为整数。与同样的事情曾

def getAnswer(a): 
    while True: 
     if a.isdecimal(): 
      a = int() 
      break 
     print('Numbers only please...') 

days = input(getAnswer) 
worked = input(getAnswer) 

这是它结束了看起来像< function functionName at 0x013A1300>

+1

我一点也不清楚你在这里想问什么;你可以编辑澄清?此外,看起来'getAnswer'实际上不会返回任何东西。 – jonrsharpe

+0

我试图清理最好的语言,我可以为每个人,我仍然非常新的Python。 – Pepperdyne

+0

*“跟随我的光标在输入部件”* ?! – jonrsharpe

回答

2

通过传递函数而不是字符串来提示用户,您正在调用input。也许你的意思是:

days = getAnswer() 

与定义为使用input获得来自用户的响应getAnswer(),验证它,然后返回。例如,

def getAnswer(): 
    while True: 
     a = input() 
     try: 
      return int(a) 
     except ValueError: 
      print('Numbers only please...') 

在我看来,这是不是让输入功能getAnswer()更清晰,try...except条款是一种常见的,容易理解的Python的成语。

+0

这解决了这个问题,并且我更好地理解了函数,谢谢! – Pepperdyne

0

getAnswer本身是一个函数。你是不是调用它,例如,像这样:

getAnswer(1) 

我怀疑你试图做的是

days = getAnswer(input()) 

注意评价的顺序是从内到外。换句话说,input()将首先被评估,然后getAnswer(...)

+0

感谢您的澄清!我得到了我出错的地方。 – Pepperdyne

相关问题