如何检查用户输入是否是字符串

2023-12-08

我有两个用户输入:在第一个用户必须插入字符串类型的文本,在第二个用户必须插入 int 类型的数字。 我使用了 try/ except ValueError,因此用户无法在需要 int 的地方插入字符串。尽管当用户在需要字符串的地方插入 int 时 ValueError 将不起作用。

当插入int时,询问str时,输入值怎么可能为假? 这是我现在的代码:

while True:
    try:
        name_input = input('Insert name')
        name = str(name_input)

        number = input('Insert number: ')
        num = int(number)

    except  ValueError:
        print('Wrong')

如果您希望整个名称按字母顺序排列,您只需添加一个if像这样的声明:

if not name.isalpha():
    print("wrong, your name can only include alphabetic characters")

或者更好地适合您的简短示例:

if not name.isalpha():
    raise ValueError

这将只接受根本不包含任何数字的输入字符串。

如果您想允许在您的name只要名称以字母开头,您也可以使用类似以下内容的名称:

if len(name) < 1 or not name.isalnum() or not name[0].isalpha():
    raise ValueError

这首先检查名称是否至少有 1 个字符长,然后检查整个名称是否仅由字母字符和数字组成,最后检查第一个字符是否是字母字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查用户输入是否是字符串 的相关文章

随机推荐

  • 什么时候a>a为真?

    是的 我想我真的是在做梦 我在 AIX 机器上编译并运行了以下代码 AIX 3 5 PowerPC POWER5 processor type IBM XL C C for AIX V10 1 Version 10 01 0000 0003
  • ggplot2:使线上的点的颜色比线的颜色更深

    我想让图表上的每个点的颜色与线条不同 这是示例数据 df lt structure list yrmonth structure c 17167 17167 17167 17198 17198 17198 17226 17226 17226
  • 如何自定义平视通知布局?

    在我的项目中 需要更改平视通知布局 我定制了两个remoteView 一个用于Notification contentView 一个用于Notification bigContentView并成功了 当我想使用时Notification B
  • Git 对于 100,000 个对象来说确实很慢。有修复吗?

    我有一个 新鲜 的 git svn 存储库 11 13 GB 其中包含超过 100 000 个对象 我已经表演过 git fsck git gc 初次结账后在仓库上 然后我尝试做一个 git status 执行 git status 所需的
  • 覆盖文本文件上的特定行?

    如何在 c 中覆盖文本文件上的特定行 我有多个变量的值需要写入文件中 仅当新行的大小与旧行的大小相同时才有效 在 模式下打开文件a fseek 到文件的开头 在阅读下一行之前 请使用ftell 记下该行的开头 阅读该行 如果这是你想要的线路
  • UIView 隐藏/显示动画

    我的简单目标是淡出动画隐藏和显示功能 Button hidden YES 够简单的 然而 有可能让它淡出而不是消失吗 这样看起来相当不专业 在 iOS 4 及更高版本中 有一种方法只需使用 UIView 转换方法即可实现此目的 而无需导入
  • 使用 WinForms GeckoFX 控件从 C# 调用 javascript 函数的推荐方法是什么?

    问题说明了一切 我已经把所有东西都连接好了 并且知道如何将消息从浏览器 html 发送到 c 但不知道如何以其他方式发送消息 我应该能够做类似的事情 browserControl JSCall myFunction Dave Smith 以
  • iOS App提交的Bundle ID

    我的应用程序商店中已有一个应用程序 我想将新应用程序上传到应用程序商店 但它要求提供捆绑包 ID 我可以使用与第一个应用程序相同的 ID 还是每个新应用程序的新捆绑包 ID 谢谢你 您将需要创建一个新的捆绑包 ID 请参阅 Apple 文档
  • Xamarin.forms 中的垂直滑块?

    我正在尝试在 Xamarin forms 中实现垂直滑块 我知道我需要分别在 ios 和 android 中创建渲染类 对于 ios 我的渲染器似乎工作正常 对于 Android 我正在点击链接https forums xamarin co
  • git stash -- 删除未跟踪的文件

    今天在工作中 我的一位同事注意到 在提供文件路径的同时执行 git stash 会删除未跟踪的文件 git stash src 此命令会删除未跟踪的文件 并且在 stash pop 后不会恢复它们 然而 git 存储 这不 我对我来说就像一
  • 在 jqplot 中打开和关闭 pointLabels

    我正在尝试以编程方式打开和关闭 pointLabels 我认为它会像这样工作 var data 1 1 2 5 4 9 var graph jqplot id graph data series pointLabels show true
  • 是否允许在 ASP.NET Core 控制器中使用 Task.Run?

    场景 我有一个带有 删除 ASP NET Core 控制器操作的 Web 服务 该实现由两个步骤组成 第一步是便宜的 之后其他操作就不再可以看到已删除的数据 第二步是长时间运行的 它执行实际的删除 可以用吗Task Run对于第二个操作并且
  • C 风格语言中匿名 { } 块的用途是什么?

    C 风格语言 C C C 中匿名 块的用途是什么 例子 void function int i 0 i i 1 int k 0 k k 1 Edit 感谢所有精彩的回答 它将变量的范围限制在 内的块内
  • 线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException [重复]

    这个问题在这里已经有答案了 我是编程新手 在 eclipse 中运行一些新代码时 我遇到了这个错误 并且完全迷失了 import java util Scanner public class Lab6 public static void
  • 如何修复 gpflow 中内核长度尺度的某些尺寸?

    我有一个 2d 内核 k gpflow kernels RBF lengthscales 24 5 1e 5 m gpflow models GPR data X Y kernel k mean function None 我想修复第二维的
  • 定义调用约定的意义何在?

    例如 int WINAPI WinMain HINSTANCE instance HINSTANCE prev instance PSTR cmd line int cmd show WINAPI 是一个如下所示的定义 define WIN
  • 部署Python程序出现问题(用py2exe打包)

    我有一个问题 我的程序使用了 py2exe 它在我的计算机上运行 我用 Inno Setup 打包它 仍然可以在我的计算机上运行 但是当我将它发送到另一台计算机时 尝试运行该应用程序时出现以下错误 CreateProcess 失败 代码 1
  • utf-8字符不显示在chrome中[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 html 特殊字符在 chrome 中无法正确显示的问题请参见 示例页面 我已经检查并重新保存了项目中的每个文件 因为 utf 8 确认了我的元标记减速 并确认 chrome 设置为默认为
  • 将数组放入 class.property

    我有一个具有以下属性的类 Dim pBonds as string Private Property Get Bonds As String Bonds pBonds End Property Private Property Get Bo
  • 如何检查用户输入是否是字符串

    我有两个用户输入 在第一个用户必须插入字符串类型的文本 在第二个用户必须插入 int 类型的数字 我使用了 try except ValueError 因此用户无法在需要 int 的地方插入字符串 尽管当用户在需要字符串的地方插入 int