我在做一个关于拉丁语的问题,我相信这里的每个人都很熟悉这个问题。唯一我似乎无法得到的就是匹配输入和输出的情况。例如,当用户输入拉丁语时,我的代码将生成atinLay。我要它生产Atinlay。
import string
punct = string.punctuation
punct += ' '
vowel = 'aeiouyAEIOUY'
consonant = 'bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ'
final_word = input("Please enter a single word. ")
first_letter = final_word[:1]
index = 0
if any((p in punct) for p in final_word):
print("You did not enter a single word!")
else:
while index < len(final_word) and (not final_word[index] in vowel):
index = index+1
if any((f in vowel) for f in first_letter):
print(final_word + 'yay')
elif index < len(final_word):
print(final_word[index:]+final_word[:index]+'ay')发布于 2016-10-06 14:45:55
你需要的是str.title()。完成piglatin转换之后,可以使用title()内置函数生成所需的输出,如下所示:
>>> "atinLay".title()
'Atinlay'要检查字符串是否小写,可以使用str.islower()。看一看医生。
发布于 2016-10-06 14:42:08
只需使用内置的字符串函数即可。
s = "Hello".lower()
s == "hello"
s = "hello".upper()
s == "HELLO"
s = "elloHay".title()
s == "Ellohay"https://stackoverflow.com/questions/39898890
复制相似问题