我需要编写代码来打印出两个字符串中没有出现的所有字母.所以基本上我所做的恰恰相反.打印出两个字符串中出现的所有字母.这是代码.我不知道如何改变它.
s1 = input('Enter a string:\n')
s2 = input('Enter second string:\n')
s1 = set(s1)
s2 = set(s2)
def notInother(s1, s2):
chars = []
for char in (s1,s2):
if char not in s2:
if char not in s1:
chars.append(char)
print(chars)
Run Code Online (Sandbox Code Playgroud)
首先,您可以合并两个集合|,然后执行-以从字母表中删除字符串中的所有字母:
>>> from string import ascii_letters
>>> set(ascii_letters) - (s1 | s2)
{'e', 'f', 'g', 'h', 'i', 'j', 'k', ...}
Run Code Online (Sandbox Code Playgroud)
你可能想看一下set操作来节省写入循环的麻烦.
使用for循环:
>>> from string import ascii_letters
>>> def notInother(s1, s2):
... chars = []
... for char in ascii_letters:
... if (char not in s1) and (char not in s2):
... chars.append(char)
... return chars
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |