【发布时间】:2021-12-06 08:50:40
【问题描述】:
我想检查字符串中是否存在一组数字
这是我的代码:
def check_no(string):
string = string.lower()
no = set(c)
s = set()
for i in string:
if i in no:
s.add(i)
else:
pass
if len(s) == len(no):
return("Valid")
else:
return("Not Valid")
c = input()
print(check_no(c))
如果字符串中存在给定的一组数字,则打印Valid,如果不存在,则打印Not valid
当输入为123 且字符串为I have 12 car and 3 bikes 时,程序运行良好,则输出有效
但是当我将输入作为254 和字符串作为i hav25555number 时,输出作为valid,但实际输出应该是Not valid,因为字符串中不存在4。
任何人都可以帮助如何在提供的代码中解决它
【问题讨论】:
-
您的代码基本上是获取字符串中的每个字符,并将它们一个接一个地添加到一组新字符中。你检查这两组是否有相同的基数,并确保你会一直得到 VALID 回报,似乎。
-
@HomayounHamedmoghadam-Rafati 不,它正在将
string转换为小写。如果字符串包含一个not 以小写字母形式出现的大写字母,那么它将not 返回有效,因为该字符的小写版本不会添加到 s . -
谢谢@Tom,明白了。