我正处于我的编程课程(职业转变)的开始阶段,所以如果这很简单,请耐心等待。我试图检查用户输入的字符串中间是否包含数字,因为它们必须出现在末尾。例如 XXX55 有效,XXX5X 无效。
s = input("Plate: ").upper()
for i in s:
if i.isdigit():
if i+1.isalpha():
print("Invalid")
这是我尝试过的,但它不起作用我希望它检查每个字符是否是数字,如果为真则检查下一个字符是否是字母表。
这取决于“确切”的规则是什么。如果字符串必须包含一个或多个数字并且它们必须出现在末尾,那么你可以这样做:
s = "XXX5"
v = "Invalid"
for i, c in enumerate(s):
if c.isdecimal():
try:
int(s[i:])
v = "Valid"
except ValueError:
break
print(v)
它的作用是逐步遍历字符串寻找第一个数字。如果没有找到,则v
不会改变,因此状态无效。如果我们确实找到了一个数字,我们就会从该点开始对字符串进行切片并尝试转换为 int。例如,如果字符串是 XX5X,我们将尝试将 5X 转换为 int,这显然会失败。 您也可以使用正则表达式,但因为您才刚刚开始......