如何检查字符串的每个字符是否不同?

时间:2015-11-27 16:17:25

标签: python python-3.x

我只是想知道,如何检查我是否要求某人输入字符串,如何检查该字符串中的每个字符是否都不同?

举个例子:

 string = str(input("Input a string: ")

我想用while循环来做。因此,如果字符串中的两个字符不同,它将保留在循环中并提示用户再次输入字符串。

2 个答案:

答案 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!")