字符串上的Python For循环未打印任何结果

时间:2019-02-17 15:51:06

标签: python

我正在使用For循环创建一个新字符串,但是它没有打印任何结果。

new_str = ''
for char in 'dfdfadcodefgldfjdcodefdfepiddjcode':
    if char == 'c' and char =='o' and char in 'abcdefghijklmnopqrstuvwxyz' and    char == 'e':
        new_str += char
print (new_str)

3 个答案:

答案 0 :(得分:1)

请注意,通过使用and,代码在评估False的那一刻,它将跳过该条件。

例如

s = 'd'
if s == 'c' and s == 'd':
    print ('pass')
else:
    print ('fail')

上面的代码将打印'fail',因为s的前s == 'c'部分失败了。
但是,如果更改为:

s = 'd'
if s == 'c' or s == 'd':
    print ('pass')
else:
    print ('fail')

上面的代码将打印'pass',因为s在第一个s == 'c'部分中失败了,但将继续评估第二个s == 'd'部分。

现在,如果您只想从字符串中排除'c', 'o', 'e',只需从in部分中将它们删除:

new_str = ''
for char in 'dfdfadcodefgldfjdcodefdfepiddjcode':
    if char in 'abdfghijklmnpqrstuvwxyz':
        new_str += char
print (new_str)

或者您可以:

new_str = ''
for char in 'dfdfadcodefgldfjdcodefdfepiddjcode':
    if char not in 'coe':
        new_str += char
print (new_str)

答案 1 :(得分:0)

我认为您想从字符串中删除“ c”,“ o”和“ e”字符。如果我的假设是正确的,那么您可以使用此代码段。

new_str = ''
for char in 'dfdfadcodefgldfjdcodefdfepiddjcode':
    if char != 'c' and char !='o' and char in 'abcdefghijklmnopqrstuvwxyz' and char != 'e':
        new_str += char
print (new_str)

答案 2 :(得分:0)

new_str为空,因为if条件从不评估为true。如果要在与指定字符之一匹配的情况下附加该字符,则需要使用or而不是and