题:
定义一个函数isVowel(char),如果char是元音('a','e','i','o'或'u'),则返回True,否则返回False.您可以假设char是任何情况下的单个字母(即'A'和'a'都有效).
不要在中使用关键字.您的函数应该接受一个字符串并返回一个布尔值.
代码给出:
def isVowel(char):
'''
char: a single letter of any case
returns: True if char is a vowel and False otherwise.
'''
Run Code Online (Sandbox Code Playgroud)
我的代码:
def isVowel(char):
'''
char: a single letter of any case
returns: True if char is a vowel and False otherwise.
'''
if char == 'a' or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
我的问题: 我的输出始终为True.我究竟做错了什么?
你的if语句:
if char == 'a' or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':
return True
Run Code Online (Sandbox Code Playgroud)
相当于:
if (char == 'a') or 'e' or 'i' or 'o' or 'u' or 'A' or 'E' or 'I' or 'O' or 'U':
Run Code Online (Sandbox Code Playgroud)
它将始终被评估为True,或者e也是True,因此您的函数总是返回True.
将您的if语句更改为:
if char == 'a' or char == 'e' or char == 'i' so on...:
return True
Run Code Online (Sandbox Code Playgroud)
但是,如果您可以使用in运算符,这个问题非常简单.这是这样的:
def isVowel(char):
return char.lower() in 'aeiou'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31298 次 |
| 最近记录: |