首页 > 解决方案 > 检查无效字符

问题描述

您好,我想弄清楚以下内容:

编写代码来检查通过input() 给出的字符串是否只包含有效字符,但一旦到达一个无效字符就停止。不要忘记现在打印出来的效果会有些不同,我们也想看到字符串的有效部分。

示例输入:ATCGT(但也可以是其他输入)

样本输出:有效的 ATCGT

file = input()


for current_letter in file:
    if current_letter in ['A', 'T', 'G', 'C']:
        continue
    elif current_letter not in ['A', 'T', 'G', 'C']:
        break
print ('valid '+current_letter)

但我的输出只有:有效 T

编辑:

file = input()

correct_letters = []

for current_letter in file:
    if current_letter in ['A', 'T', 'G', 'C']:
        correct_letters.append(current_letter)
    else:
        break
print(f'valid {"".join(correct_letters)}')

这也很好用,感谢 L3viathan

标签: pythonfor-loop

解决方案


你没有按照说明书告诉你的去做。在这里你给出最后一个正确的字母。这可以解决问题:

file = input()
correct_letters = ""
for current_letter in file:
    if current_letter in ['A', 'T', 'G', 'C']:
        correct_letters += current_letter
    else:
        break
print ('valid  '+ correct_letters)

推荐阅读