我正在为学校做点什么,出于某种原因,这个函数调用了所有剩下的功能,但是不起作用。你应该能够从列表中选择一个函数,它将执行该函数。当我将该函数称为调用者(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)
答案 0 :(得分:0)
input
返回一个字符串,然后将其与一系列整数进行比较。您需要将其设为int
,或将比较目标设为字符串。
比较
>>> x = input("give value: ")
give value: 17
>>> x
'17'
>>> type(x)
<class 'str'>
>>> x == 17
False
>>> x == '17'
True
与
>>> x = int(input("give value: "))
give value: 18
>>> x
18
>>> type(x)
<class 'int'>
>>> x == 18
True