繁体   English   中英

使用Python中的函数验证输入

[英]Validating an input with a function in Python

我对Python真的很陌生,主要是在弄乱。 我正在尝试建立一个验证用户输入的函数(以我为例,检查用户是否写James或Peter。这可能是一个非常新手的问题,但是我只是想知道我的代码是否是一种好方法完成此功能,谢谢您的帮助。

namelist = "Peter", "James"

def nameinput():
    global name
    name = raw_input("Write a name. ")

def checkname(x):
    while name not in namelist:
        print "Try again"
        nameinput()
    else:
        print "Good,", name

checkname(nameinput())

if name == "Peter":
    print "This is a text for Peter"
elif name == "James":
    print "This is a text for James"

没有; 这里没有理由使用全局变量。 将数据传递给需要它的函数。

def nameinput():
    return raw_input("Write a name. ")

def checkname(name):
    namelist = ["Peter", "James"]
    while name not in namelist:
        print "Try again"
        name = nameinput()
    else:
        print "Good,", name
    return name

name = checkname(nameinput())

通常不赞成使用全局变量(如果您不总是知道自己在做什么,它确实可以做一些愚蠢的事情),所以不要这么早就开始这样做。

您可以通过从nameinput返回名称来轻松避免这种情况。

另外,您已经有了名称列表。 最后执行以下操作:

if name in namelist:
    print("This is a text for " + name)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM