当变量在外面时运行未调用的函数,但除非在变量在里面时调用,否则不会运行



如果您在configselect()中引用configtype,则该函数将不会运行,除非调用,但是当configtype在configselect()之外引用时,则input()函数将运行并且不返回任何值。

你们觉得这是怎么回事?

import os
configtype = int(input("Are you configuring a (1)962, (2)Audience, or (3)mAP? "))
def configselect():
if configtype == 1:
print("you chose 962")
elif configtype == 2:
print("you chose Audience")
elif configtype == 3:
print("you chose mAP")
else:
print("Try again dummy")

为了让一个函数运行,你需要调用它的名字。

import os
configtype = int(input("Are you configuring a (1)962, (2)Audience, or (3)mAP? "))
def configselect():
if configtype == 1:
print("you chose 962")
elif configtype == 2:
print("you chose Audience")
elif configtype == 3:
print("you chose mAP")
else:
print("Try again dummy")
configselect()

以上将运行。

通常,你应该把函数写成

def configselect(choice):
if choice == 1:
print("you chose 962")
elif choice == 2:
print("you chose Audience")
elif choice == 3:
print("you chose mAP")
else:
print("Try again dummy")

这样更容易重复使用。

最后,为了让你的函数不总是打印"Try again dummy",你应该把configtype转换成一个整数。输入将始终返回一个字符串。

最新更新