首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将用户输入作为字符串追加到列表中

问将用户输入作为字符串追加到列表中
EN

Stack Overflow用户
提问于 2022-06-04 02:23:12
回答 1查看 77关注 0票数 -1

我想要完成的是,我希望有一个函数,它使用while循环来检查是否有任何不允许的字符。我很抱歉,这是一个初学者的问题,我可能做错了。

“数字不能用在盘子的中间,它们必须在最后。例如,AAA222将是一个可接受的…虚荣牌;AAA22A是不可接受的。使用的第一个数字不能是‘0’。“

“不允许句点、空格或标点符号。”

但是你不需要完全解决我想继续自己尝试的问题,我只想知道为什么只有当我输入无效的东西时才会附加?

我的想法是把它附加到列表中,然后再循环一次,看看是否包含任何不允许的字符。

代码语言:javascript
复制
def main():
    plate = input("Plate: ")
    exclusions(plate)
    if is_valid(plate):
        print("Valid")
    else:
        print("Invalid")


def exclusions(s):
        plate_list = []
        while len(plate_list) < is_valid(s):
           plate_list.append(s)
        print(plate_list)


def is_valid(s):
    return 2 <= len(s) <= 6


main()

任何2-6个字符内的任何内容都是有效的。因此,问题是使用while循环并附加。因此,如果某物无效(过去的6个字符),它会附加到列表中,这就是我想要解决的问题。我只想要它附加用户输入,然后我将循环回来看看它是否包含任何不允许的字符。

对不起,如果我重复我自己,但只是试图澄清,因为有时我想我很难理解我想要完成的事情,所以试图更好地表达我的问题。:)

编辑:我解决了它只添加无效输入的问题,现在它只添加了有效的输入,现在我只需要弄清楚如何循环遍历无效字符列表:)更改条件的简单事情。

EN

回答 1

Stack Overflow用户

发布于 2022-06-04 02:29:23

第一个问题是,您使用list作为list = []行中的变量名。这是python中的一个保留关键字,因此您不应该将它用作变量名。换个地方换点别的。

第二个问题是,len(list)返回0,在python中0被解释为False。因此,当您输入无效板块时,is_valid(s)返回False。在while语句中的条件变为,False == False,即True。所以,while语句只适用于无效板块。但是,当您输入有效的板块时,is_valid(s)返回True,因此,False == True语句的条件变为False == True,即False。所以,while循环对有效的板块不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72496638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档