我的字比较程序忽略了我的打印功能

2024-09-26 22:13:44 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我计划的一部分。它的工作是提取一个字符串,逐字与字母表进行比较,如果一个字母与字母表中的一个字母匹配,它就会打印出那个字母。但是,程序似乎忽略了我的print命令,继续执行其他操作,使输出为空。你知道吗

x = "DEWIOCJWO"
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
m = 0
for i in range(len(x)):
    if x[i] == alphabet[m]:
        print(alphabet[m])
        m = 0
        break
    else:
        m = m + 1
        continue

Tags: 字符串in命令程序forlen字母range
3条回答
for X in x:
    if X in alphabet: print(X)

或者

print(*[X for X in x if X in alphabet])

或者

print(' '.join([X for X in x if X in alphabet]))

都给你你想要的(打印字母表中的x)

如果你想保持你当前的逻辑,你需要第二个for循环来正确地遍历字母表。e、 g

for i in range(len(x)):
    for m in range(len(alphabet)):
        if x[i] == alphabet[m]:
            print(alphabet[m])
            break

一个更干净的方法是使用regex。你知道吗

import re
x = "DEWIOCJWO"
for letter in re.findall(r'[A-Z]', x):
    print(letter)

使用此代码:

x = "DEWIOCJWO"
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in range(len(x)):
    if x[i] in alphabet:
        print(x[i] )
    else:
        continue

比较字母表(m)时出错,因为m每次都在增加

正因为如此,你没有任何匹配的印刷品

因此,使用in查找字符串是否包含字母表,使用print(x[i])打印哪个字符与字母表匹配

相关问题 更多 >

    热门问题