两个带有相同except子句的try语句

Jaxxo

假设我想在python 3中使用两个字符串(例如“ A1”或“ 1A”)进行操作,但首先检查它是否采用两种格式,因为用户可以用两种方式键入它。(我已经有了一种检查字符是否为字母的方法。)

我将如何以最短,最简单的方式实现这一目标?我想尝试一件事,如果失败,请在引发异常之前尝试另一件事。像这样:

x = 0
string = 'A1'
try:
    x = int(string[1]) # Check that second char is a digit
    # something else to check first char is a letter
else try:
    x = int(string[0]) # Check that first char is a digit
    # something else to check second char is a letter
except:
    print('Was in neither form')
马丁·彼得斯(Martijn Pieters)

您可以使用循环:

for i in range(1, -1, -1):
    try:
        string[i] = int(string[i])
    except ValueError:
        pass
    else:
        break
else:
    print('Was in neither form')

如果任何一个转换成功,则使用中断循环break如果您不使用break则会执行循环else上的套件for

但是,不能将它们分配给字符串索引,因为它们是不可变的。更好的选择是使用正则表达式:

import re

valid_pattern = re.compile('^(?:\d[A-Z]|[A-Z]\d)$')
def is_valid(string):
    return valid_pattern.match(string) is not None

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入带有两个max子句的语句

来自分类Dev

带有两个变量的语句

来自分类Dev

UNION与带有大WHERE子句的两个查询

来自分类Dev

带有两个 where 子句的子查询

来自分类Dev

IF语句具有两个条件的相同变量

来自分类Dev

选择带有两个AS别名的语句?

来自分类Dev

带有两个 if 语句的不完整 for 循环

来自分类Dev

Swift 中带有两个条件的 Guard 语句

来自分类Dev

带有两个内部连接的 sqlite delete 语句

来自分类Dev

带有两个限制语句的请求

来自分类Dev

Where 子句中有两个条件的总和的 SQL 语句错误

来自分类Dev

从两个具有相同WHERE子句的不同表中进行选择?

来自分类Dev

来自带有IN子句的两个表的MySQL查询请求

来自分类Dev

两个表中带有where子句的内部联接的Postgres索引

来自分类Dev

Selenium的find_elements带有两个用于文本的子句?

来自分类Dev

来自带有IN子句的两个表的MySQL查询请求

来自分类Dev

在两个表上都带有where子句的Rails LEFT OUTER JOIN

来自分类Dev

跨两个表和列的带有“IN”子句的 Sql 查询

来自分类Dev

当它们具有相同的FROM时,一个SELECT语句而不是两个

来自分类Dev

当它们具有相同的FROM时,一个SELECT语句而不是两个

来自分类Dev

SQL语句where子句两个日期

来自分类Dev

Haskell:使用相同的where子句的两个不同的函数

来自分类Dev

检查带有对象的字典是否包含两个具有相同属性的对象

来自分类Dev

具有相同WHERE子句的同一个表上的两个不同查询

来自分类Dev

如何使用带有两个表的Oracle SQL语句计算百分比

来自分类Dev

C#更好的编写带有两个值的if语句的方法

来自分类Dev

如何在带有case语句的mysql中使用两个小数点

来自分类Dev

带有两个初始语句的 T-SQL 递归

来自分类Dev

带有 2 个 EXISTS 子句的 SQL 更新语句

Related 相关文章

  1. 1

    插入带有两个max子句的语句

  2. 2

    带有两个变量的语句

  3. 3

    UNION与带有大WHERE子句的两个查询

  4. 4

    带有两个 where 子句的子查询

  5. 5

    IF语句具有两个条件的相同变量

  6. 6

    选择带有两个AS别名的语句?

  7. 7

    带有两个 if 语句的不完整 for 循环

  8. 8

    Swift 中带有两个条件的 Guard 语句

  9. 9

    带有两个内部连接的 sqlite delete 语句

  10. 10

    带有两个限制语句的请求

  11. 11

    Where 子句中有两个条件的总和的 SQL 语句错误

  12. 12

    从两个具有相同WHERE子句的不同表中进行选择?

  13. 13

    来自带有IN子句的两个表的MySQL查询请求

  14. 14

    两个表中带有where子句的内部联接的Postgres索引

  15. 15

    Selenium的find_elements带有两个用于文本的子句?

  16. 16

    来自带有IN子句的两个表的MySQL查询请求

  17. 17

    在两个表上都带有where子句的Rails LEFT OUTER JOIN

  18. 18

    跨两个表和列的带有“IN”子句的 Sql 查询

  19. 19

    当它们具有相同的FROM时,一个SELECT语句而不是两个

  20. 20

    当它们具有相同的FROM时,一个SELECT语句而不是两个

  21. 21

    SQL语句where子句两个日期

  22. 22

    Haskell:使用相同的where子句的两个不同的函数

  23. 23

    检查带有对象的字典是否包含两个具有相同属性的对象

  24. 24

    具有相同WHERE子句的同一个表上的两个不同查询

  25. 25

    如何使用带有两个表的Oracle SQL语句计算百分比

  26. 26

    C#更好的编写带有两个值的if语句的方法

  27. 27

    如何在带有case语句的mysql中使用两个小数点

  28. 28

    带有两个初始语句的 T-SQL 递归

  29. 29

    带有 2 个 EXISTS 子句的 SQL 更新语句

热门标签

归档