Python判断元音辅音时列表对比输入值无输出是什么原因
问题原因
你改写后的代码没有输出,是因为判断条件逻辑错误:
- 你写的
if userinput == vowel是拿用户输入的单个字符,和整个元音列表做相等判断,单个字符串永远不可能和包含5个元素的列表相等,所以这个条件永远不成立,对应的打印语句自然不会执行。
修复方案
Python中判断单个元素是否存在于列表中,需要使用in关键字,把判断条件改成if userinput in vowel:就能正常运行。
修复后的参考代码:
# 定义元音列表 vowel = ["a", "e", "i", "o", "u"] # 获取用户输入,先去除首尾空格,再转成小写,兼容大写元音的输入场景 user_input = input("请输入一个英文字母:").strip().lower() if user_input in vowel: print("你输入的是元音字母") else: print("你输入的是辅音字母")
可选优化
如果要避免用户输入多个字符、数字或符号时判断出错,可以加上输入合法性校验:
vowel = ["a", "e", "i", "o", "u"] user_input = input("请输入一个英文字母:").strip().lower() if len(user_input) != 1 or not user_input.isalpha(): print("输入不合法,请输入单个英文字母") elif user_input in vowel: print("你输入的是元音字母") else: print("你输入的是辅音字母")
内容的提问来源于stack exchange,提问作者Modo
相关产品推荐
相关产品推荐

