python - Pig_Latin 大写
问题描述
问题:Pig Latin 是一个代码:-
- 在每个单词中添加“ay”。
- 如果单词以辅音开头,则将第一个字母移到末尾。
- 最终单词的首字母应为大写。
我的方法:我已经弄清楚了第一部分,但是当第一个字母大写时代码非常错误,它不会以相同的格式来做。应该发生的事情是新的第一个字母将大写,但事实并非如此(例如:Test --> Esttay)
我尝试使用 if 语句嵌套 word.capitalize() 的条件,但是,它没有成功,并将它与 else 语句混淆。我也尝试过创建一个单独的列表,但计算机总是把它弄糊涂。
这是我的代码:
sentence = input ("Type in your sentence here ")
consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']
for word in sentence.split():
first_letter = word [0]
if first_letter in consonants :
pig = word [1:] + first_letter + "ay"
else :
pig = word + "ay"
for word in sentence.split():
if word.islower() == "false":
print (pig.iscapitalize())
else :
print (pig)
预期的结果是代码可以自动将正确的位置大写(Test --> Esttay),但是,对于辅音,它会将其视为元音(Test --> Testay)。
感谢你们对我的帮助
解决方案
以下是我解决的几个问题:
- 不需要其他答案中提到的第二个循环。
- 您还需要添加大写辅音
- islower() == True 因为 True 是一个布尔值,islower() 返回布尔值。如果 islower() 返回 True 也可以工作,所以我只写了 islower()
- 还要尝试理解 islower() 看不到第一个字母,但如果任何字母是大写字母,则返回 True。
sentence = input ("Type in your sentence here ")
consonants2 = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']
consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']
# comment the below 3 lines if you don't need to change format for words which starts with capital consonant letter. I
# I added it because of your example Testay and Esstay which somehow suggest me that you want that.
for i in consonants2:
consonants.append(i.capitalize())
for word in sentence.split():
first_letter = word[0]
if first_letter in consonants :
pig = word [1:] + first_letter + "ay"
else :
pig = word + "ay"
if pig[0].islower():
print(pig.capitalize())
else:
print(pig)
推荐阅读
- mongodb - MongoDB 选择 * 分组依据
- c# - Connection-String EntityFramework 中的问题是什么?
- r - 使用 cross 替换 group_by_at(NULL)
- android - java.lang.UnsupportedOperationException 相册不能直接修改
- ruby-on-rails - 为什么 Rails 控制台命令不起作用?
- ios - View/ViewController 层次结构和定位问题
- javascript - 此页面完美检测到 chrome devtool
- azure - 运行 Azure Pipeline 时 Chrome 版本不匹配
- javascript - TypeError:无法读取 React JS 中未定义的属性“值”
- c++ - 在c ++中使用堆栈(静态数组)反转字符串