python - 我如何检查它是否应该是python中的an或a?
问题描述
所以我制作了一个生成器(它是什么并不重要)并且我试图让 a/ans 正确地出现在名词之前。
例如:“一个苹果用一根香蕉玩剪刀石头布”而不是:“一个苹果用一根香蕉玩剪刀石头布”
尚未确定的 a/an 的默认设置是,"<a>"
所以我需要"<a>"
用 a 或 an 替换,这取决于它后面的字母是否是元音。
我该怎么做?
解决方案
试试这个简单的代码
输入:
a apple an day keeps doctor away
代码:
def convert(lst):
return str(lst).translate(None, '[],\'')
string = "a apple an day keeps doctor away"
a_list = string.split(" ")
for i in range(len(a_list)):
try:
if a_list[i] == 'a':
if a_list[i+1][0] in ['a','e','i','o','u']:
a_list[i] = 'an'
elif a_list[i] == 'an':
if a_list[i+1][0] not in ['a','e','i','o','u']:
a_list[i] = 'a'
except e:
print(str(e))
print(convert(a_list))
输出:
an apple a day keeps doctor away
推荐阅读
- objective-c - 添加跟踪区域时向实例发送无法识别的选择器
- iis - MVC5 控制器 (POST) 被调用两次(每周一次)
- reactjs - npm 在尝试运行它时在 Visual Studio 代码中抛出一些错误
- authentication - 使用 WebView2 cookie 下载 PDF
- java - 使用 log4j 的 Json 日志
- javascript - 更改 AngularJS 属性会更改 HTML 属性的值
- ros - 安装ROS后如何进一步配置?
- python - POS中分支总数的Django api函数
- python - Pandas groupby 并为数字列和时间列添加总计,想要添加平均值
- database - 是否有关于替换可在华为设备上运行的 Firebase Firestore 的数据库选项的任何建议?- 颤振