PAT甲级1035 Password——python

题目大意

进行PAT考试的时候,系统会为每个用户随机生成密码,但是有些字符看起来容易混淆,所以用@代替1,%代替0,L代替l,o代替O,现给出N个用户名及其密码,逐个判断密码是否需要修改,最后输出需要修改的密码总数,并输出每个需要修改的用户名及其密码。如果没有修改帐户,则打印在帐户总数所在的一行中。但是,如果是,则必须打印。There are N accounts and no account is modifiedNNThere is 1 account and no account is modified。
我们创建一个字典,保存用于修改的东西,然后一个一个地找

n = int(input())
count = n
a = {
     '1':'@','0':'%','l':'L','O':'o'}
result = []
for x in range(n):
    line = input().split(" ")
    flag = False
    for i in a:
        if i in line[1]:
            flag = True
            line[1] = line[1].replace(i,a[i])
    if flag:
        result.append([line[0], line[1]])
        count -= 1
if len(result) !=0:
    print(len(result))
    for x in result:
        print(x[0],x[1])
elif count > 0 :
    if count == 1:
        print('There is 1 account and no account is modified')
    else:
        print('There are {} accounts and no account is modified'.format(count))

你可能感兴趣的:(经验分享,python)