Function 功能赢得';不能使用输入参数值

Function 功能赢得';不能使用输入参数值,function,if-statement,input,python-3.x,Function,If Statement,Input,Python 3.x,我正在为学校做一些事情,出于某种原因,这个函数调用了所有其他函数,但无法工作。您应该能够从列表中选择一个函数,它将执行该函数。当我以调用者(3)或任何其他实际数字的身份调用该函数时,它将正常工作。或者,如果我说x=3,那么说调用者(x),它也可以工作。不起作用的是,如果我请求x=input('whatever')调用者(x)。它要么什么都不吐,要么什么都不吐,这真的很烦人 我重新编写了前两个函数,这样就可以在不复制整个代码的情况下实际调用某些函数。如果有人能弄清楚发生了什么事,我希望能得到一些帮

我正在为学校做一些事情,出于某种原因,这个函数调用了所有其他函数,但无法工作。您应该能够从列表中选择一个函数,它将执行该函数。当我以调用者(3)或任何其他实际数字的身份调用该函数时,它将正常工作。或者,如果我说x=3,那么说调用者(x),它也可以工作。不起作用的是,如果我请求x=input('whatever')调用者(x)。它要么什么都不吐,要么什么都不吐,这真的很烦人

我重新编写了前两个函数,这样就可以在不复制整个代码的情况下实际调用某些函数。如果有人能弄清楚发生了什么事,我希望能得到一些帮助

def name_major():
    print('This one works')

def age_int():
    print('This one works too')

def caller(slct):
    select = slct
    if select == 1:
        name_major()
    elif select == 2:
        age_int()
    elif select == 3:
        n = randint(0,4)
        name_greet(randname[n])
    elif select == 4:
        messager('Bring out your dead! ', randint(1,8))
    elif select == 5:
        print('Function #5')
        get_biggest(randint(0,15),randint(0,15))
    elif select == 6:
        print('Function #6')
        wrd = input('Please enter a word or phrase: ')
        print('"' + str(wrd) + '" has', cap_counter(wrd), 'capital letters in it.')
    elif select == 7:
        n1 = randint(0,20)
        n2 = randint(0,20)
        n3 = randint(0,20)
        print(the_middler(n1,n2,n3))
    elif select == 8:
        run_all()

    x = input('give value')
    caller(x)

input
返回一个字符串,然后将其与一系列整数进行比较。您需要将其设置为
int
,或者将比较目标设置为字符串

比较

>>> x = input("give value: ")
give value: 17
>>> x
'17'
>>> type(x)
<class 'str'>
>>> x == 17
False
>>> x == '17'
True
>x=输入(“给定值:”)
给出值:17
>>>x
'17'
>>>类型(x)
>>>x==17
假的
>>>x==“17”
真的

>x=int(输入(“给定值:”)
给出值:18
>>>x
18
>>>类型(x)
>>>x==18
真的
>>> x = int(input("give value: "))
give value: 18
>>> x
18
>>> type(x)
<class 'int'>
>>> x == 18
True