我只是想知道,如何检查我是否要求某人输入字符串,如何检查该字符串中的每个字符是否都不同?
举个例子:
string = str(input("Input a string: ")
我想用while循环来做。因此,如果字符串中的两个字符不同,它将保留在循环中并提示用户再次输入字符串。
答案 0 :(得分:3)
如果我正确理解了您的问题,您希望拒绝任何包含同一字符的多个副本的字符串。如果输入了带有重复字符的字符串,则需要重复提示并获得另一个输入。
执行重复检查的最简单方法是从字符串中创建set
,然后检查该集合是否与原始集合具有相同的长度。如果字符串中有任何重复项,则它们只会在set
中出现一次。
while True:
input_string = input("Enter a string")
if len(set(input_string)) == len(input_string):
break
print("Please avoid repeating any characters")
答案 1 :(得分:0)
你也可以试试这个:
while True:
b = input("Enter a string: ")
if all([b[i] not in b[:i] + b[i+1:] for i in range(len(b))]):
break
print("Please try again!")