当前位置: 首页 > 面试题库 >

在Python中验证用户输入字符串

汝弘深
2023-03-14
问题内容

因此,我几乎搜索了单词“ string”,“ python”,“ validate”,“ user
input”等等的每个排列,但是我还没有找到一种适合我的解决方案。

我的目标是提示用户是否要使用字符串“ yes”和“
no”进行另一笔交易,我认为字符串比较在Python中是一个相当简单的过程,但是有些不起作用对。我使用的是Python
3.X,据我所知,输入应使用字符串而不使用原始输入。

即使输入“ yes”或“
no”,该程序也会始终取消无效输入,但真正奇怪的是,每次我输入长度大于4个字符的字符串或一个int值时,它都会将其检查为有效的正数输入并重新启动程序。我还没有找到获取有效负输入的方法。

endProgram = 0;
while endProgram != 1:

    #Prompt for a new transaction
    userInput = input("Would you like to start a new transaction?: ");
    userInput = userInput.lower();

    #Validate input
    while userInput in ['yes', 'no']:
        print ("Invalid input. Please try again.")
        userInput = input("Would you like to start a new transaction?: ")
        userInput = userInput.lower()

    if userInput == 'yes':
        endProgram = 0
    if userInput == 'no':
        endProgram = 1

我也尝试过

while userInput != 'yes' or userInput != 'no':

我不仅会帮助解决我的问题,而且如果有人对Python如何处理字符串有任何更多的信息,我将不胜感激。

抱歉,如果有人已经问过这样的问题,请尽我最大的努力进行搜索。

谢谢大家!


问题答案:

您正在测试用户输入 是否为 yesno。添加一个not

while userInput not in ['yes', 'no']:

如此快一点,更接近您的意图,请使用一组:

while userInput not in {'yes', 'no'}:

你用什么的userInput in ['yes', 'no'],这是True如果userInput是要么等于'yes''no'

接下来,使用布尔值设置endProgram

endProgram = userInput == 'no'

因为你已经验证了userInput或者是yesno,没有必要测试yesno重新设置你的标志变量



 类似资料:
  • 这是我刚接触Python时就一直在阅读的一本书中的一些代码……这一部分按它应该的方式工作 我的困境是…我需要验证输入是什么…因此,如果用户输入的是一个字符串(比如“五”而不是数字),而不是q或数字,它会告诉他们“很抱歉,“五”是无效的。请重试…然后它会再次提示用户输入。我是Python新手,一直在为这个简单的问题绞尽脑汁 *更新**因为我没有足够的积分来为我自己的问题添加答案,所以我在这里发布这个

  • 问题内容: 我试图在我的一种方法中建立用户输入验证系统…在一定程度上可以正常工作,但是尽管有代码,但它仍然允许整数作为有效输入,我不希望这样,我怎么能更改此代码,以仅允许将字母(字符串)作为有效输入。在这一点上,我感到困惑,我尝试使用整数对该系统进行测试,它可以完美地工作,但是使用字母,无济于事。 有见识? 问题答案: 更换 与 如果使用扫描仪,则仅检查下一步是否有 东西 ,特别是对于字母或其他物

  • 我已经创建了一个控制台应用程序,现在开始将其转换为摇摆应用程序。我有一个问题,我搜索了很多次,但我没有找到任何答案。 我的应用程序有一个类来验证用户的输入,如果输入错误,它会向控制台发出错误消息。所以我尝试做的是,我有一个Jtextfield并验证这个输入,如果输入错误,它应该给我错误消息。 这是我的Input类,用户可以在其中编写 这是我的输出类方法 我只是想知道我可以使用输入类的验证,还是应该

  • 问题内容: Python如何接受用户输入,并验证? 问题答案: 完成此操作的最简单方法是将方法置于循环中。当输入错误时使用,当你感到满意时使用。 当你的输入可能引发异常时 使用和检测用户何时输入了无法解析的数据。 实施你自己的验证规则 如果要拒绝Python可以成功解析的值,则可以添加自己的验证逻辑。 结合异常处理和自定义验证 以上两种技术都可以组合成一个循环。 将其全部封装在一个函数中 如果你需

  • 问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看

  • 我正在做一个简单的程序,要求用户输入0-19之间的五个数字。我想在每个数字后面添加一些东西(比如if语句),以确保它在这个范围内。如果不是,程序应该说“请再读指令”,然后system.exit(0)。这段代码是相关的: 如有任何帮助,将不胜感激。