我正在使用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)
答案 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
。