如何拒绝重复值

how to reject duplicate values

我正在制作一个程序,用户可以在其中输入两个 10 整数:

a = input('Enter an integer: ')
b = input('Enter an integer: ')
c = input('Enter an integer: ')
d = input('Enter an integer: ')
e = input('Enter an integer: ')
f = input('Enter an integer: ')
g = input('Enter an integer: ')
h = input('Enter an integer: ')
i = input('Enter an integer: ')
j = input('Enter an integer: ')

我想知道如何拒绝已经输入的数字,然后提示用户输入另一个值

将您的号码存储在集合中,例如列表。然后你可以在添加更多之前检查新号码是否已经在集合中。

integers = []
while len(integers) < 10:
    a = input("Enter an integer: ")
    if a in integers:
        print("Sorry, that number was already entered.")
    else:
        integers.append(a)

如果您不关心整数的顺序,可以使用 set,它会自动施加唯一性。

integers = set()
while len(integers) < 10:
    integers.add(input("Enter an integer: "))
#!/usr/bin/python

integers=[]

def check(a):
    while a in integers:
        print a, 'exists.'
        a = input('Enter another integer: ')
    integers.append(a)


a = input('Enter an integer: ')
check(a)

b = input('Enter an integer: ')
check(b)

c = input('Enter an integer: ')
check(c)

d = input('Enter an integer: ')
check(d)

e = input('Enter an integer: ')
check(e)

f = input('Enter an integer: ')
check(f)

g = input('Enter an integer: ')
check(g)

h = input('Enter an integer: ')
check(h)

i = input('Enter an integer: ')
check(i)

j = input('Enter an integer: ')
check(j)

或 10 个整数的更短版本

#!/usr/bin/python

integers=[]

def check(a):
    while a in integers:
        print a, 'exists.'
        a = input('Enter another integer: ')
    integers.append(a)

while len(integers)<10:
    a = input('Enter an integer: ')
    check(a)