Python变量创建函数

时间:2015-10-18 20:01:45

标签: python function variables

我经常使用这组代码,所以我创建了一个函数,我想使用它而不是多次编写代码。

def setVar():
 try:
   x = int(input())
 except:
   print("The number is not an integer please try again")
   setVar()

功能如下:

def setVarInt(x):
 try:
    x = int(input())
 except:
    print("The number you have entered is not an integer.")
    print("Please try again.")
    setVarInt(x)

所以当我做setVarInt(T)时,我希望它创建一个变量T并等待输入。

输入格式:

setVarInt(T)
print(T)

输出格式:

13  #This is where I input T
13

我收到此错误:

Traceback (most recent call last):
  File "E:\Computer Coding\Python\My Code\Function Files\setVars.py", line 19, in <module>
setVarInt(T)
NameError: name 'T' is not defined

2 个答案:

答案 0 :(得分:0)

不要使用递归来解决这个问题,你应该使用while循环。此外,您不需要x参数。

def setVarInt():
    while True:
        try:
            return int(input())
        except ValueError:
            print('Please enter an integer')

然后当你调用这个函数时,你必须捕获返回值才能打印它。

x = setVarInt()
print(x)

答案 1 :(得分:0)

你做得差不多了。您刚刚忘记了return关键字。

试试这个:

def setVar():
    try:
        x = int(input())
        return x
    except:
        print("The number is not an integer please try again")
        return setVar()



x = setVar()
print(x)