函数返回变量的第一次初始化,而不是被覆盖的变量

2024-09-30 16:20:44 发布

您现在位置:Python中文网/ 问答频道 /正文

def hand():
    print("Wrong port format")
    er()

def er():
    try:
            host=input("Host: ")
            serverPort=(input("Port: "))
            try:
                Port=int(serverPort) 
            except Exception:
                hand()
            return (host,int(serverPort))
    except Exception:
            return("Wrong")

serverPorti=er()

print((serverPorti))

当我运行它返回错误,我希望用户输入主机和端口,但如果用户在端口号中输入文本(字母),它应该回调函数er(),它确实回调,但即使在我输入正确的端口号后返回错误


Tags: hostinputreturnportdefexceptionintprint
1条回答
网友
1楼 · 发布于 2024-09-30 16:20:44

因为我很无聊我让它为你工作

def getHostPort():
    host = ''
    serverPort = ''
    inputCorrect = False

    while not inputCorrect:
        try:
            host = input("Host: ")
            serverPort = int(input("Port: "))
            inputCorrect = True
        except Exception:
            print("wrong port")
            continue

    return (host,int(serverPort))

serverPorti=getHostPort()
print((serverPorti))

相关问题 更多 >