Python 为什么此代码不向后打印字符
您忘记在函数结束时返回Python 为什么此代码不向后打印字符,python,Python,您忘记在函数结束时返回p: def anti_vowel(text): p='' for c in text: if c=='a' or c=='A': break elif c=='e' or c=='E': break elif c=='i' or c=='I': break elif c=='o' or c=='O':
p
:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
print(anti_vowel('Hello you'))
如果没有最后一行,您将只打印None
,这是没有显式return
语句的函数的默认返回值
当然,您的函数只会打印第一个辅音,因为只要找到任何元音,break
就会结束循环。它永远不会倒转字符串。对于示例输入,函数返回'H'
,因为输入中的下一个字母是元音,而break
则结束循环
您可以轻松地重新编写函数以使用str.lower()
和包含测试:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
return p
同样,返回第一个辅音('H'
用于示例输入)
如果要反转字母并排除元音,请不要使用break
并反转放置其余字母的位置。您可以使用continue
替代,或者更简单地说,只需反转if
测试,并且只处理不是元音的字符:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() in 'aeiou':
break
p += c
return p
现在,辅音置于任何前面的辅音之前,与文本相反:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() not in 'aeiou':
p = c + p
return p
您忘记在函数结束时返回p
:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
print(anti_vowel('Hello you'))
如果没有最后一行,您将只打印None
,这是没有显式return
语句的函数的默认返回值
当然,您的函数只会打印第一个辅音,因为只要找到任何元音,break
就会结束循环。它永远不会倒转字符串。对于示例输入,函数返回'H'
,因为输入中的下一个字母是元音,而break
则结束循环
您可以轻松地重新编写函数以使用str.lower()
和包含测试:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
return p
同样,返回第一个辅音('H'
用于示例输入)
如果要反转字母并排除元音,请不要使用break
并反转放置其余字母的位置。您可以使用continue
替代,或者更简单地说,只需反转if
测试,并且只处理不是元音的字符:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() in 'aeiou':
break
p += c
return p
现在,辅音置于任何前面的辅音之前,与文本相反:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() not in 'aeiou':
p = c + p
return p
您忘记在函数结束时返回p
:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
print(anti_vowel('Hello you'))
如果没有最后一行,您将只打印None
,这是没有显式return
语句的函数的默认返回值
当然,您的函数只会打印第一个辅音,因为只要找到任何元音,break
就会结束循环。它永远不会倒转字符串。对于示例输入,函数返回'H'
,因为输入中的下一个字母是元音,而break
则结束循环
您可以轻松地重新编写函数以使用str.lower()
和包含测试:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
return p
同样,返回第一个辅音('H'
用于示例输入)
如果要反转字母并排除元音,请不要使用break
并反转放置其余字母的位置。您可以使用continue
替代,或者更简单地说,只需反转if
测试,并且只处理不是元音的字符:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() in 'aeiou':
break
p += c
return p
现在,辅音置于任何前面的辅音之前,与文本相反:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() not in 'aeiou':
p = c + p
return p
您忘记在函数结束时返回p
:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
print(anti_vowel('Hello you'))
如果没有最后一行,您将只打印None
,这是没有显式return
语句的函数的默认返回值
当然,您的函数只会打印第一个辅音,因为只要找到任何元音,break
就会结束循环。它永远不会倒转字符串。对于示例输入,函数返回'H'
,因为输入中的下一个字母是元音,而break
则结束循环
您可以轻松地重新编写函数以使用str.lower()
和包含测试:
def anti_vowel(text):
p=''
for c in text:
if c=='a' or c=='A':
break
elif c=='e' or c=='E':
break
elif c=='i' or c=='I':
break
elif c=='o' or c=='O':
break
elif c=='u' or c=='U':
break
else:
p=p+c
return p
同样,返回第一个辅音('H'
用于示例输入)
如果要反转字母并排除元音,请不要使用break
并反转放置其余字母的位置。您可以使用continue
替代,或者更简单地说,只需反转if
测试,并且只处理不是元音的字符:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() in 'aeiou':
break
p += c
return p
现在,辅音置于任何前面的辅音之前,与文本相反:
def anti_vowel(text):
p = ''
for c in text:
if c.lower() not in 'aeiou':
p = c + p
return p
def反_元音(文本):p=''表示文本中的c:如果c=='a'或c=='a':中断elif c=='e'或c=='e':中断elif c=='i'或c=='i':中断elif c=='o'或c=='o':中断elif c=='u'或c=='u':中断其他:p=p+c打印(anti_元音('Hello you'))您没有返回任何内容,函数需要返回,可能是
p
我感觉您想使用继续
而不是中断
定义anti_元音(文本):p=''表示文本中的c:如果c=='a'或c=='a':中断elif c=='e'或c=='e':中断elif c=='i'或c=='i':中断elif c=='o'或c=='o':中断elif c=='u'或c=='u':中断其他:p=p+c打印(anti_元音('Hello you'))您没有返回任何内容,函数需要返回,可能p
我感觉您想使用continue
而不是break
def anti_元音(text):文本中c的p='':如果c='a'或c='a':bre