import random
def is_chongfu(test_list):
for i in range(len(test_list)):
for j in range(len(test_list)-1):
j1=j if j<i else j+1
if test_list[j1] == test_list[i]:
return True
else:
return False
def check(yours,answers):
a,b=0,0
for i in range(len(yours)):
for j in range(len(answers)):
if yours[i]==answers[j]:
if i==j:
a+=1
else:
b+=1
return (a,b)
nums=random.sample(range(10),4)
i=1
while i<=10:
print("第 %d 次猜数字:"%i)
yourAns=input("请依次输入四个数字(如5423,没有分隔符,超出的忽略):")
print("你输入:",', '.join(yourAns[:4]))
try:
yourAns2=[int(yourAns[j]) for j in range(4)]
except ValueError:
print("不是数字!")
continue
except IndexError:
print("数字不够!")
continue
if is_chongfu(yourAns2):
print("数字重复!")
continue
a,b=check(yourAns2,nums)
print(f"结果: {a}A{b}B")
if a==4:
print("你成功了!")
break
i+=1
else:
print("你失败了。")
print("答案是:",', '.join([str(e) for e in nums]))