你知道5分钟完成20分的题对于我一个人来说是多大的惊喜,这对我幼小的心灵得是多大的伤害?
第一眼的思路:遍历实际敲入的字符串,看其是否在本来应该敲入的字符串中,不在就输出(小瑕疵:会重复输出不在的字符);
注意1:输出格式要求如果字母需要转化为大写字母输出
注意2:已经输出的字符不需要重复输出,这就需要将已经输出的字符保存起来放在新列表里,然后对每一个要检查的字符,不仅需要检查其是否在本来应该敲入的字符串中,还需要检查其是否在已经输出过的字符的列表中;
n = input() m = input() num = [] for i in n: if i not in m and i.upper() not in num: '''.upper()将字符串中的小写字母转化为大写字母再返回,注意,这不会改变原字符串 检测i的大写字母是否在num里,我们检查大写是因为我们保存在num里面的都是大写字母''' if i.isalpha(): # 检测其是否为字母用.isalpha(),是的话返回True num.append(i.upper()) print(i.upper(), end='') else: num.append(i) print(i, end='')
————————————————————额外知识点—————————————————
首先记住一个就是关于字符串的isX方法
isalpha()返回True——>字符串只包含字母字符,并且非空;
isalnum()返回True——>字符串只包含字母字符和数字字符,并且非空;
isdecimal()返回True——>字符串只包含数字字符,并且非空;
isspace()返回True——>字符串只包含空白字符(即空格,制表符,换行),并且非空;
istitle()返回True——>字符串仅包含以大写字母字符开头,后面都是小写字母字符的单词;
upper()可以将字符串(只要里面至少有一个字母(即便它是大写))中的小写字母转化为大写字母,操作如下:
lower()可以将字符串(只要里至少含有一个字母(即便它是小写字母)) 中的大写字母转化为小写字母。。操作如下:
isupper()返回True————>字符串中至少有一个字母,且字母全为大写字母,那么返回True
islower()返回True————>字符串中至少有一个字母,且字母全为小写字母,那么返回True
操作如下: